示例#1
0
文件: Form1.cs 项目: 0rps/model_git
        public Model(int _t1, int _t2, double _mean, double _var, bool _isReturnRequests)
        {
            Model.Time = 0;
            _var = Math.Sqrt(_var);
            AbsTimeGenerator uniformGen = new UniformTimeGenerator(_t1, _t2);
            AbsTimeGenerator normGen = new NormalTimeGenerator(_mean, _var);
            m_ignoredRequests = new StatBlock();
            m_successRequests = new StatBlock();
            m_queue = new StandartQueue(m_ignoredRequests);
            m_generator = new Generator(uniformGen, m_queue);
            m_procBlock = new ProcessBlock(normGen, m_queue, m_successRequests);
            (m_queue as StandartQueue).SetSleepBlock(m_procBlock);

            if (_isReturnRequests)
            {
                m_successRequests.SetNextBlock(m_queue);
            }

            m_list = new List<IWorkBlock>();
            m_list.Add(m_generator);
            m_list.Add(m_procBlock);
        }