本教程适用于JDK 8。本页面中描述的示例和实践不利用后续版本引入的改进,并且可能使用不再可用的技术。
请参阅Java语言变更,了解Java SE 9及其后续版本中更新的语言特性的概述。
请参阅JDK发布说明,了解所有JDK版本的新功能、增强功能以及已删除或已弃用选项的信息。
java.util.concurrent
包中包含了一些对Java集合框架的补充。这些补充可以通过提供的集合接口进行最容易的分类:
BlockingQueue
定义了一个先进先出的数据结构,在尝试向满队列中添加元素或从空队列中检索元素时,会阻塞或超时。ConcurrentMap
是java.util.Map
的子接口,定义了一些有用的原子操作。这些操作仅在键存在时移除或替换键-值对,或者仅在键不存在时添加键-值对。通过将这些操作设置为原子操作,有助于避免同步问题。标准的通用实现是ConcurrentHashMap
,它是HashMap
的并发版本。ConcurrentNavigableMap
是ConcurrentMap
的子接口,支持近似匹配。标准的通用实现是ConcurrentSkipListMap
,它是TreeMap
的并发版本。所有这些集合都通过定义操作将对象添加到集合中的操作与后续访问或删除该对象的操作之间建立了