public void Start() { messageDisrupter = new Disruptor<RingbufferByteArray>(() => new RingbufferByteArray(), new SingleThreadedClaimStrategy(ringbufferSize), new SleepingWaitStrategy(), TaskScheduler.Default); // Switch to this line to use busy spin input queue //messageDisrupter = new Disruptor<RingbufferByteArray>(() => new RingbufferByteArray(), new SingleThreadedClaimStrategy(ringbufferSize), new BusySpinWaitStrategy(), TaskScheduler.Default); messageDisrupter.HandleEventsWith(messageProcessor).Then(performanceRecorder); messageDisrupter.HandleExceptionsWith(new IncomingMessageQueueErrorHandler()); messageRingBuffer = messageDisrupter.Start(); performanceRecorder.Setup(messageRingBuffer, 5000); logger.Info("Incoming message queue started."); }