2

无论如何,消费者是否会通知生产者任何特定事件已成功处理?

4

3 回答 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 回答