I am running a disruptor instance with following event handler:
int NUM_EVENT_PROCESSORS = 5;
executor = Executors.newFixedThreadPool(NUM_EVENT_PROCESSORS);
EventFactory factory = new EventFactory();
System.out.println("Starting Disruptor");
disruptor = new Disruptor<>(factory, RING_SIZE, executor, ProducerType.SINGLE, new BlockingWaitStrategy());
disruptor.handleEventsWith(new Logger(), new Replicator(), new Logic());
disruptor.start();
I have discovered an instance where the Replicator() thread hung and it blocked the Logic() thread.
If there is 1 event in the ringbuffer, do the disruptor threads work sequentially?