Java并发容器

集合框架的线程安全问题

 在高并发的场景下有些集合框架是非线程安全的,比如ArrayList、LinkedList、HashSet、HashMap等,因此在高并发环境下使用时是非常不安全的。所以Java也提供了对应的线程安全的并发版本。

集合框架 线程安全集合框架 说明
ArrayList CopyOnWriteArrayList CopyOnWriteArrayList是ArrayList并发版本
HashSet CopyOnWriteHashSet CopyOnWriteHashSet是ArrayList并发版本
HashMap ConcurrentHashMap ConcurrentHashMap是HashMap并发版本

 

什么是并发容器

  java.util.concurrent包中提供了多种并发类容器。

 https://www.matools.com/api/java8

 

 并发类容器是专门针对多线程并发设计的,使用了锁分段技术,只对操作的位置进行同步操作,但是其他没有操作的位置其他线程仍然可以访问,提高了程序的吞吐量。

 采用了CAS算法和部分代码使用synchronized锁保证线程安全。

posted @ 2021-02-16 20:33  songguojun  阅读(37)  评论(0编辑  收藏  举报