文章目录
- AQS 是一个抽象类
- AQS 使用场景
- AQS两个核心要素:资源 队列
-
- 1、state资源
- 2、队列的头、尾节点,由pre/next构成的双向队列
- 3、Node成员变量
- 同步队列获取资源流程-独占模式
- 同步队列获取资源流程-共享锁模式
AQS 是一个抽象类
AbstractQueuedSynchronizer(简称为AQS)是一个抽象类,直译 抽象队列同步器。
它继承自AbstractOwnableSynchronizer(简称为AOS),不完整类图如下。
AQS 使用场景
JUC很多工具都大量使用AQS,AQS的使用场景列举如下&