Я запускаю экземпляр разрушителя со следующим обработчиком событий:
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();
Я обнаружил случай, когда поток Replicator() завис и заблокировал поток Logic().
Если в кольцевом буфере 1 событие, потоки дисраптора работают последовательно?
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());
- person rupweb   schedule 04.08.2015