public EventCountingQueueProcessor( BlockingCollection<long> blockingQueue, PaddedLong[] counters, int index) { _blockingQueue = blockingQueue; _counters = counters; _index = index; }
public OneToThreeWorkerPoolThroughputTest() { for (var i = 0; i < _numWorkers; i++) { _counters[i] = new PaddedLong(); } for (var i = 0; i < _numWorkers; i++) { _queueWorkers[i] = new EventCountingQueueProcessor(_blockingQueue, _counters, i); } for (var i = 0; i < _numWorkers; i++) { _handlers[i] = new EventCountingWorkHandler(_counters, i); } _workerPool = new WorkerPool<ValueEvent>(_ringBuffer, _ringBuffer.NewBarrier(), new FatalExceptionHandler(), _handlers); _ringBuffer.AddGatingSequences(_workerPool.GetWorkerSequences()); }