LinkedBlockingQueue是生产者 - 消费者喜欢的场景的正确选择吗?

时间:2010-06-15 11:08:33

标签: java concurrency producer-consumer

我有一个像生产者 - 消费者一样的场景。 A类生成E类型的对象。我必须将它保存在A类的静态数据结构中,因为消费者逻辑应该在B类中处理,而B类没有引用A的对象.IndlineBlockingQueue是正确的数据类型队列?或者有更好的选择吗?

2 个答案:

答案 0 :(得分:2)

如果您使用的是有界队列,您还可以考虑使用ArrayBlockingQueue

另外,来自LinkedBlockingQueue Javadoc:

  

链接队列通常具有更高的排名   吞吐量比基于阵列的队列但是   大多数人的预测性能较差   并发申请。

答案 1 :(得分:0)

如果生产者和消费者在两个不同的主题中运行,那么LinkedBlockingQueue<E>将是一个不错的选择。