奈學 reaseShared共享式釋放鎖

2021-10-23 11:35:30 字數 344 閱讀 6834

共享鎖的釋放是通過呼叫releaseshared模版方法來實現的。大概步驟為:

呼叫tryreleaseshared嘗試釋放共享鎖,這裡必須實現為執行緒安全。

如果釋放了鎖,那麼呼叫doreleaseshared方法環迅後繼結點,實現喚醒的傳播。

對於支援共享式的同步元件(即多個執行緒同時訪問),它們和獨佔式的主要區別就是tryreleaseshared方法必須確保鎖的釋放是執行緒安全的(因為既然是多個執行緒能夠訪問,那麼釋放的時候也會是多個執行緒的,就需要保證釋放時候的執行緒安全)。由於tryreleaseshared方法也是我們自己實現的,因此需要我們自己實現執行緒安全,所以常常採用cas的方式來釋放同步狀態。

/**

奈學教育 大資料架構師

特別喜歡馬中華老師的講課,開2倍速看,依然能聽的很清晰,而且說話邏輯清晰,有條理,連貫,不中斷,特過癮。教學內容呢,都是原始碼級別的,沒有基礎的不建議聽,至少要有2年的大資料開發經驗才行。第一單元 掌握zookeeper的核心設計 1.zookeeper生態體系結構 2.zookeeper總體架構設...

奈學教育《大資料架構師》課程大綱

深度剖析了各個基礎技術的原始碼 zookeeper hive spark flink hadoop等 對這些基礎技 術知識動態的排列組合,形成大資料全域性架構觀,並深入講述大資料全域性架構設計的方方面面,打 造真正滿足企業萬億級海量資料規模的資料中臺,真正賦能前台業務。同時,在企業萬億級真實項 目落...

奈學教育《大資料架構師》課程大綱(1)

第一階段 分布式協調元件 第一單元 掌握zookeeper的核心設計 zookeeper生態體系結構 zookeeper總體架構設計 zookeeper讀寫請求流程深度剖析 第二單元 掌握zookeeper服務端原始碼流程 zookeeper啟動流程原始碼深度剖析 master選舉演算法原始碼深度剖...