1. 程式人生 > >CyclicBarrier之共享鎖的理解

CyclicBarrier之共享鎖的理解

然而 ant 舉例 正常 bar count 情況 等於 latch

今天看到一篇博文裏面提到了共享鎖,舉例有 CyclicBarrier,CoutDownlatch等,就翻了下源碼加深下理解,(之前對共享鎖的理解沒有對應到具體引用類中),看到CoutDownlatch裏面用到了aqs基礎類的共享鎖相關的方法,然而CyclicBarrier裏面只用到了ReentrantLock的獨占鎖,認為作者寫的有問題...... 然後又細看了下aqs的源碼發現原來是俺之前沒理解。。。

CyclicBarrier的共享鎖不是執行上的所有線程並發去dowait方法,而是所有線程共同等待一個狀態,這裏的狀態正常情況下是count的值,當值等於0時所有阻塞的線程恢復執行,否則線程阻塞。

CyclicBarrier之共享鎖的理解