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 |
浙公网安备 33010602011771号