public ConsumerOfWork(SummatorOfNumbers realWorker, ManagerOfProducers managerOfProducers, ConcurrentQueueLimitedSize <NumbersToSum> producerConsumerQueue, ManualResetEvent producerEvent, ManualResetEventSlim consumerEvent) { _producerConsumerQueue = producerConsumerQueue; _producerEvent = producerEvent; _consumerEvent = consumerEvent; _managerOfProducers = managerOfProducers; _realWorker = realWorker; _log = LogManager.GetLogger(typeof(ConsumerOfWork)); }
public void AddConsumer(SummatorOfNumbers realWorker) { var consumer = new ConsumerOfWork(new SummatorOfNumbers(), this, _producerConsumerQueue, _producerEvent, _consumerEvent); consumers.Add(consumer); var thread = new Thread(consumer.ProcessQueue); thread.Start(); }