3

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

4

2 回答 2

2

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

此外,来自LinkedBlockingQueueJavadoc:

链接队列通常比基于数组的队列具有更高的吞吐量,但在大多数并发应用程序中性能更不可预测。

于 2010-06-15T12:09:05.950 回答
0

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

于 2010-06-15T11:12:07.237 回答