Я новичок для разрушителя, и я использую прерыватель для передачи между потоками в конвейерной структуре. Я могу запустить набор обработчиков, как показано ниже, с помощью hasleEventsWith или с помощью функции after().Disruptor: установка EventHandler order
disruptor.handleEventsWith(eventhandler1)
.then(eventhandler2)
.then(eventhandler3);
Но я хочу, чтобы иметь возможность добавлять новые EventHandlers к этому трубопроводу, не меняя код here.To сделать это, я добавляю целое значение для каждого события handler.Then, я беру эти ценности и соответствующие обработчики для создания упорядоченного списка обработчиков. Затем, чтобы дать заказ на разрушающее то, что я сейчас делаю это
disruptor.handleEventsWith(handlerOrderList.get(0));
for (int i=1; i<handlerOrderList.size();i++) {
disruptor.after(handlerOrderList.get(i1)).then(handlerOrderList.get(i));
}
Есть ли лучший способ сделать это?
, но с этим, обработчики событий не работают в правильном порядке – Gimhani
Вы правы. Я добавил обновление ответа. –