java - 了解 Java 中的并发队列

标签 java collections queue

我正在阅读 B. Goetz Java Concurrency In Practice,现在正在阅读有关并发集合的部分。他对Java 5.0中添加的Queue接口(interface)描述如下:

While you can simulate the behavior of a Queue with a List — in fact, LinkedList also implements Queue—the Queue classes were added because eliminating the random-access requirements of List admits more efficient concurrent implementations.

看起来有点困惑。我看了LinkedList接口(interface)并注意到它没有实现 RandomAccess ,但是ArrayList做。这是非常明显的,因为 LinkedList 提供对其元素的线性时间随机访问。

你不能解释一下他的意思吗?

最佳答案

他指的不是RandomAccess标记接口(interface),而是随机访问方法,例如get(index)。实现Queue时,您无需担心实现这些方法,因为它们可能效率极低,并且可能会阻止您使类达到您想要的性能。

关于java - 了解 Java 中的并发队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34670547/

相关文章:

C++队列多线程等待作业完成

java字符串日期转换

java - 应用程序在 JVM 1.6_33 中崩溃,而在 1.7_25 中不崩溃

java - Set中的重复值异常

c# - 如何找到集合中的下一个最大键?

python - 在python中更改多进程的局部变量

java - Android - 媒体播放器错误 : attachnewplayer called in state 64

java - 在 Fragment Pager Adapter 中保留 Fragment 的实例状态

java - JAXB UnMarshal Collection 元素顺序 - 续

Python队列模块难度