【发布时间】:2019-01-30 12:19:16
【问题描述】:
是否有 java.util.Queue 的标准或第三方实现,它允许我在多个线程中同时读取队列,但将所有对象传递给所有线程。
目标是对定期添加到队列中的消息进行多次并行处理。一些进程很快,而另一些进程很慢。我们需要所有消息都被所有线程处理。
【问题讨论】:
-
如果所有对象都在每个线程中,是不是每个线程都有自己的队列,并且在添加项时,将其添加到所有线程的队列中?
-
这将复制存储。想知道是否存在使用单个后备存储但为每个线程维护单独指针的实现
-
它不会复制存储,因为每个队列都在查看同一个对象。
-
ConcurrentLinkedQueue?
-
是的,史蒂夫明白。但它仍然重复所有这些参考。加上它在添加过程中的开销。近 50 个线程处理数万个对象。并且 ConcurrentLinkedQueue 不提供每个线程的独立视图
标签: java multithreading queue