【发布时间】:2013-10-15 17:34:07
【问题描述】:
这个问题涉及一个非常常见的问题,我无法找到传统的解决方案。
设置如下:
- 您有许多消费者,每个消费者都订阅一组符号
- 您有许多生产者,每个生产者都为这些符号的不相交子集生成数据
- 消费者可能太慢了,无法消费他们对符号的所有更改 已订阅,因此您可能需要节流
- 消费者只对每个人的最新数据感兴趣 象征。如果消费者错过了符号的更新,并且更新了 数据可用,则只应发送最新的数据。
我经常遇到这个问题,每次都不得不重新发明轮子,例如实现一个队列,其中未使用的数据可以被更新的数据替换。我想知道是否有一些库可以有效地解决这个问题。
【问题讨论】:
-
在这种情况下“订阅”是什么意思?是否应该在新符号到达时通知消费者,例如发布/订阅?每个符号子集是分配给不同的数据结构,还是全部混合?
标签: java concurrency