java 併發底層不得不看-AQS(AbstractQueuedSynchronizer)

AbstractQueuedSynchronizer

學習之前需要準備:

1.雙向鏈表:

2.CAS理論知識

3.volatile 有啥用

1.AQS 是啥這玩意有啥用啊,設計它的目的是啥

AQS是抽象類,是一個利用模板模式寫好一些方法,讓別的類去使用它可以快速實現鎖組件。

這樣用來支持不同業務場景的各個鎖,都可以基於它去自行實現。

例如:

2.怎麼設計的具體代碼體現

private volatile int state;  一個原子性狀態,提供了comapareAndSet方法

Node tail   尾節點  (等待隊列)

Node head  頭節點

ConditionObject 條件隊列

3.怎麼用這玩意

具體可以看各個lock的實現

4.從這玩意中學到了什麼

 

 

 


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章