无论如何,消费者是否会通知生产者任何特定事件已成功处理?
问问题
295 次
3 回答
0
不是直接不,并且鉴于破坏者旨在解耦处理,这样做会否定它提供的所有性能提升。
于 2014-05-06T22:51:49.367 回答
0
如果你愿意,你可以把它连接起来。就像是
class MyEvent {
String payload;
Runnable onComplete;
}
然后让您的事件处理程序/消费者/任何东西在处理有效负载后运行 onComplete。将 runnable 替换为 Future 或您可能喜欢的任何其他东西,但这种模式最适合异步事物(也许 runnable 在您的 UI 中设置了一个完成标志?)
Disruptor 往往不适合调用者需要阻止结果的事情。
于 2014-05-07T04:10:36.613 回答
0
你能不能只在你的生产者和消费者中维护计数器,生产者在发布前增加计数器,消费者在处理后增加计数器,然后让生产者将produced_count
与进行比较consumed_count
?
于 2015-01-03T12:35:34.740 回答