public OneToThreeWorkerPoolThroughputTest()
            : base(Test_Disruptor, ITERATIONS)
        {
            for (int i = 0; i < NUM_WORKERS; i++)
            {
                counters[i] = new _Volatile.PaddedLong();
                queueWorkers[i] = new EventCountingQueueProcessor(blockingQueue, counters, i);
                handlers[i] = new EventCountingWorkHandler(counters, i);
            }

            workerPool = new WorkerPool<ValueEvent>(ringBuffer,
                                        ringBuffer.NewBarrier(),
                                        new FatalExceptionHandler(),
                                        handlers);
            ringBuffer.AddGatingSequences(workerPool.getWorkerSequences());
        }
        public OneToThreeWorkerPoolThroughputTest()
            : base(Test_Disruptor, ITERATIONS)
        {
            for (int i = 0; i < NUM_WORKERS; i++)
            {
                counters[i]     = new _Volatile.PaddedLong();
                queueWorkers[i] = new EventCountingQueueProcessor(blockingQueue, counters, i);
                handlers[i]     = new EventCountingWorkHandler(counters, i);
            }

            workerPool = new WorkerPool <ValueEvent>(ringBuffer,
                                                     ringBuffer.NewBarrier(),
                                                     new FatalExceptionHandler(),
                                                     handlers);
            ringBuffer.AddGatingSequences(workerPool.getWorkerSequences());
        }
        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());
        }
        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());
        }