并发队列性能

时间:2014-03-06 16:28:35

标签: java multithreading concurrency queue

Java 7提供了各种并发队列的不同实现,即:

java.util.concurrent.ArrayBlockingQueue<E>
java.util.concurrent.ConcurrentLinkedQueue<E>
java.util.concurrent.LinkedBlockingDeque<E>
java.util.concurrent.LinkedBlockingQueue<E>

有没有人发现任何性能特征,即哪一个看起来最快?我想使用我的代码中性能关键部分的一个实现。

1 个答案:

答案 0 :(得分:3)

没有办法说出哪个是“最快的”。这个问题没有多大意义。最快的是什么?您必须提供至少一些要求。垃圾收集会产生影响。缓存行为也起作用,取决于数据访问模式。

在确定您的性能要求未得到满足,并通过适当的分析和基准测试确定容器操作是瓶颈之后,您可以根据自己的具体情况对自己的代码进行测试和基准测试。

并发集合通常表现出与其对等集合相同的高级性能特征。