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();
        }