aqs是如何實現獨佔和共享的,jdk中代表實現有哪些

AQS的功能主要分爲兩類:獨佔鎖和共享鎖。在它的所有子類中,要麼實現了它的獨佔功能的API,要麼實現了共享功能的API,但不會同時使用兩套API,即使是ReentrantReadWriteLock,也是通過兩個內部類:讀鎖和寫鎖,分別使用兩套API來實現的。

  • 當AQS的子類實現獨佔功能時,如ReentrantLock,資源是否可以被訪問被定義爲:只要AQS的state變量不爲0,並且持有鎖的線程不是當前線程,那麼代表資源不可訪問。
  • 當AQS的子類實現共享功能時,如CountDownLatch,資源是否可以被訪問被定義爲:只要AQS的state變量不爲0,那麼代表資源不可以爲訪問。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章