1
我是一个破坏者的新手,我正在使用干扰程序在线程之间传递线程结构。我可以使用hadleEventsWith或使用after()来运行一组处理程序。Disruptor:设置EventHandler的顺序
disruptor.handleEventsWith(eventhandler1)
.then(eventhandler2)
.then(eventhandler3);
但是,我希望能够以新的事件处理器添加到该管道在不改变代码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
您是对的。我添加了一个更新的答案。 –