AbstractQueuedSynchronizer
学习之前需要准备:
1.双向链表:
2.CAS理论知识
3.volatile 有啥用
1.AQS 是啥这玩意有啥用啊,设计它的目的是啥
AQS是抽象类,是一个利用模板模式写好一些方法,让别的类去使用它可以快速实现锁组件。
这样用来支持不同业务场景的各个锁,都可以基于它去自行实现。
例如:
2.怎么设计的具体代码体现
private volatile int state; 一个原子性状态,提供了comapareAndSet方法
Node tail 尾节点 (等待队列)
Node head 头节点
ConditionObject 条件队列
3.怎么用这玩意
具体可以看各个lock的实现
4.从这玩意中学到了什么