【发布时间】:2014-04-18 08:12:31
【问题描述】:
消费者是否会通知生产者任何特定事件已成功处理?
【问题讨论】:
消费者是否会通知生产者任何特定事件已成功处理?
【问题讨论】:
不是直接不,并且考虑到破坏者旨在解耦处理,这样做会否定它提供的所有性能提升。
【讨论】:
如果你愿意,你可以把它连接起来。类似的东西
class MyEvent {
String payload;
Runnable onComplete;
}
然后让您的事件处理程序/消费者/任何东西在处理有效负载后运行 onComplete。将 runnable 替换为 Future 或您可能喜欢的任何其他东西,但这种模式最适合异步事物(也许 runnable 在您的 UI 中设置了一个完成标志?)
Disruptor 往往不适合调用者需要阻止结果的事情。
【讨论】:
你能不能只在你的生产者和消费者中维护计数器,生产者在发布前增加计数器,消费者在处理后增加计数器,然后让生产者将produced_count与consumed_count?
【讨论】: