Java Concurrent Summary

Java Concurrent Summary

一、概要

并发包四种类型:原子变量、同步器、并发容器、线程池

同步器

7个

同步器类名 since 原理
AbstractQueuedSynchronizer 1.5 CAS自旋,LockSupport,CLH队列
ReentrantLock 1.5 AQS,CAS
ReentrantReadWriteLock 1.5 AQS,CAS自旋,高低位读写
CountDownLatch 1.5 AQS,CAS自旋
计数归零唤醒其他线程
Semaphore 1.5 AQS,CAS自旋
CyclicBarrier 1.5 ReentrantLock,Condition
计数归零执行操作,唤醒其他线程
Phaser 1.7 CAS自旋,LockSupport
StampedLock 1.8 CAS自旋,LockSupport

并发容器

7个阻塞队列

并发容器类名 since 原理
BlockingQueue 1.5
ArrayBlockingQueue 1.5
LinkedBlockingQueue 1.5
SynchronousQueue 1.5
PriorityBlockingQueue 1.5
DelayQueue 1.5
LinkedTransferQueue 1.7
BlockingDeque 1.6
LinkedBlockingDeque 1.6

9个其他并发容器

其他并发容器 since
Exchanger 1.5 CAS自旋,park/unpark
FutureTask 1.5 CAS自旋,park/unpark
ConcurrentHashMap 1.5
ConcurrentLinkedQueue 1.5
CopyOnWriteArrayList 1.5
CopyOnWriteArraySet 1.5
ConcurrentSkipListMap 1.6
ConcurrentSkipListSet 1.6
ConcurrentLinkedDeque 1.7
posted on 2023-03-09 21:36  共感的艺术  阅读(23)  评论(0)    收藏  举报