public ProducerOfWork(GeneratorOfNumbersToSum realProducer, ConcurrentQueueLimitedSize <NumbersToSum> producerConsumerQueue, ManualResetEvent producerEvent, ManualResetEventSlim consumerEvent) { _producerConsumerQueue = producerConsumerQueue; _producerEvent = producerEvent; _realProduce = realProducer; _consumerEvent = consumerEvent; _log = LogManager.GetLogger(typeof(ProducerOfWork)); }
public void AddProducer(GeneratorOfNumbersToSum realProducer) { if (_stopping) { return; } var producer = new ProducerOfWork(realProducer, _producerConsumerQueue, _producerEvent, _consumerEvent); producers.Add(producer); var thread = new Thread(producer.StartProduceWork); thread.Start(); }