コード例 #1
0
        public OneToThreeDiamondSequencedThroughputTest()
            : base(Test_Disruptor, ITERATIONS, 7)
        {
            ThreadPool.SetMaxThreads(NUM_EVENT_PROCESSORS, NUM_EVENT_PROCESSORS);
            sequenceBarrier = ringBuffer.NewBarrier();
            fizzHandler     = new FizzBuzzEventHandler2(FizzBuzzStep.Fizz);

            batchProcessorFizz =
                new BatchEventProcessor <FizzBuzzEvent>(ringBuffer, sequenceBarrier, fizzHandler);

            buzzHandler        = new FizzBuzzEventHandler2(FizzBuzzStep.Buzz);
            batchProcessorBuzz =
                new BatchEventProcessor <FizzBuzzEvent>(ringBuffer, sequenceBarrier, buzzHandler);

            sequenceBarrierFizzBuzz =
                ringBuffer.NewBarrier(batchProcessorFizz.Sequence, batchProcessorBuzz.Sequence);

            fizzBuzzHandler        = new FizzBuzzEventHandler2(FizzBuzzStep.FizzBuzz);
            batchProcessorFizzBuzz = new BatchEventProcessor <FizzBuzzEvent>(ringBuffer, sequenceBarrier, fizzBuzzHandler);

            ringBuffer.AddGatingSequences(batchProcessorFizzBuzz.Sequence);
        }
        public OneToThreeDiamondSequencedThroughputTest()
            : base(Test_Disruptor, ITERATIONS,7)
        {
            ThreadPool.SetMaxThreads(NUM_EVENT_PROCESSORS, NUM_EVENT_PROCESSORS);
            sequenceBarrier = ringBuffer.NewBarrier();
            fizzHandler = new FizzBuzzEventHandler2(FizzBuzzStep.Fizz);

            batchProcessorFizz =
            new BatchEventProcessor<FizzBuzzEvent>(ringBuffer, sequenceBarrier, fizzHandler);

            buzzHandler = new FizzBuzzEventHandler2(FizzBuzzStep.Buzz);
            batchProcessorBuzz =
        new BatchEventProcessor<FizzBuzzEvent>(ringBuffer, sequenceBarrier, buzzHandler);

            sequenceBarrierFizzBuzz =
       ringBuffer.NewBarrier(batchProcessorFizz.Sequence, batchProcessorBuzz.Sequence);

            fizzBuzzHandler = new FizzBuzzEventHandler2(FizzBuzzStep.FizzBuzz);
            batchProcessorFizzBuzz = new BatchEventProcessor<FizzBuzzEvent>(ringBuffer, sequenceBarrier, fizzBuzzHandler);

            ringBuffer.AddGatingSequences(batchProcessorFizzBuzz.Sequence);
        }