Java并发编程实战:第14章 总结
- 使用 Object 超类中的 wait()、notify()、notifyAll()等方法管理条件队列
- 如果说 Lock 是显式的 Synchroinzed,那么也可以认为 Condition 也是一种显式的条件队列 —- Condition 提供了类似 wait()、notify()、notifyAll() 且更全面的方法
- AbstractQueuedSynchronizer(AQS):提供一个框架来实现依赖于先进先出 (FIFO) 等待队列的阻塞锁和相关的同步器(信号量、事件等)
- ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock 和 FutureTask 都是基于 AQS 构建的
- 显式的 Condition 是与显式的 Lock 是紧密地绑定到一起的,相比于内部条件队列,它还提供了一个可扩展的特征集,包括“多 wait 每 lock”,可中断或不可中断的条件等待,公平或非公平的队列,以及基于最终时限的等待。
Java并发编程实战:第14章 总结