AbstractQueuedSynchronizer
學習之前需要準備:
1.雙向鏈表:
2.CAS理論知識
3.volatile 有啥用
1.AQS 是啥這玩意有啥用啊,設計它的目的是啥
AQS是抽象類,是一個利用模板模式寫好一些方法,讓別的類去使用它可以快速實現鎖組件。
這樣用來支持不同業務場景的各個鎖,都可以基於它去自行實現。
例如:
2.怎麼設計的具體代碼體現
private volatile int state; 一個原子性狀態,提供了comapareAndSet方法
Node tail 尾節點 (等待隊列)
Node head 頭節點
ConditionObject 條件隊列
3.怎麼用這玩意
具體可以看各個lock的實現
4.從這玩意中學到了什麼