Java 线程安全的集合有哪些?

Sherwin.Wei Lv7

Java 线程安全的集合有哪些?

回答重点

类名 描述 线程安全模型 使用场景
Vector 线程安全的动态数组 每个方法加锁 较低并发需求的场景(不推荐使用)
Hashtable 线程安全的哈希表 每个方法加锁 较低并发需求的场景(不推荐使用)
ConcurrentHashMap 线程安全的哈希表(高并发) 分段锁,支持高并发 高并发的场景,如缓存、分布式锁等
CopyOnWriteArrayList 线程安全的动态数组,适用于读多写少的场景 写操作时复制,读操作无锁 读多写少的场景,如监听器集合等
CopyOnWriteArraySet 线程安全的集合,基于 CopyOnWriteArrayList 实现 写操作时复制,读操作无锁 读多写少的集合操作
BlockingQueue 适用于生产者-消费者模型的线程安全队列 支持阻塞操作 生产者-消费者模型,消息队列,任务调度等场景
ConcurrentSkipListMap 线程安全的有序 Map,基于跳表实现 跳表实现,支持高并发操作 需要有序访问的高并发场景
ConcurrentSkipListSet 线程安全的有序 Set,基于跳表实现 跳表实现,支持高并发操作 需要有序访问的高并发场景
LinkedBlockingQueue 基于链表实现的阻塞队列 支持阻塞操作 适用于队列处理任务,如任务调度、消息队列等

扩展知识

Comments
On this page
Java 线程安全的集合有哪些?