理解AQS

 

0.來源說明

本文是對尚硅谷2020最新版Java面試題第三季(java大廠面試題,周陽主講)中的AQS 視頻資料的學習整理

1.前置知識

公平鎖和非公平鎖

可重入鎖

LockSupport

自旋鎖(CAS)

數據結構之鏈表

設計模式之模板設計模式

2.是什麼

1)字面意思:抽象的隊列同步器

抽象的:說明是個抽象類,提供了很多模板方法供子類實現

隊列:對搶不到鎖的隊列進行管理

同步器:

2)技術解釋

是用來構建鎖或者其他同步組件的重量級基礎框架,

通過內置的FIFO隊列來完成資源獲取線程的排隊工作,並通過一個int類型變量表示持有鎖的狀態。

是整個JUC體系的基石。(FIFO隊列 + state)

3.AQS爲什麼是JUC內容中最重要的基