首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BatchEventProcessor LMAX中断模式的作用

BatchEventProcessor LMAX中断模式的作用
EN

Stack Overflow用户
提问于 2013-05-30 07:08:00
回答 2查看 1.8K关注 0票数 4

BatchEventProcessor在lmax颠覆者模式中的作用是什么?

代码语言:javascript
复制
BatchEventProcessor<ValueEvent> eventProcessor 

=新屏障( ringBuffer,BatchEventProcessor,handler );

代码语言:javascript
复制
EXECUTOR.execute( eventProcessor );
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-24 01:58:48

BatchEventProcessor是eventProcessor的一个实现,它监视每次调用时可用事件的数量。然后,它将每个事件的实际处理委托给您的eventHandler,并在批处理的最终事件传递给您的事件处理程序时发出信号。

这个想法是,如果你想从你的处理程序中延迟事件的发布,例如将一组事件添加到一条较大的消息中。

票数 3
EN

Stack Overflow用户

发布于 2015-09-06 01:40:40

如果我们谈论的是来自Sam answer的“将一组事件添加到一条更大的消息中”的任务,BatchEventProcessor为我们提供了两件主要的事情:

  1. 我们将在事件系列的最后一次调用时得到"endOfBatch==true“,所以我们可以将批量消息发布推迟到使用"endOfBatch==true”调用,并且我们不会陷入这样的情况:几分钟内没有事件,并且我们没有发送一次已经收集的消息,并且我们需要额外处理这个事件。只有在处理程序处理来自批处理的所有消息之后,处理程序才会移动它自己的序列值。例如,可以在我们的处理程序中保存当前批处理的先前事件,并使用它们来生成批量消息,而您不应该考虑生产者,这可能会破坏此重用事件的内容。在处理程序从onEvent(,endOfBatch==true)

)返回之前,生产者无法访问这些事件和相关序列

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16825398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档