CyclicBarrier之共享锁的理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CyclicBarrier之共享锁的理解相关的知识,希望对你有一定的参考价值。

今天看到一篇博文里面提到了共享锁,举例有 CyclicBarrier,CoutDownlatch等,就翻了下源码加深下理解,(之前对共享锁的理解没有对应到具体引用类中),看到CoutDownlatch里面用到了aqs基础类的共享锁相关的方法,然而CyclicBarrier里面只用到了ReentrantLock的独占锁,认为作者写的有问题...... 然后又细看了下aqs的源码发现原来是俺之前没理解。。。

 

CyclicBarrier的共享锁不是执行上的所有线程并发去dowait方法,而是所有线程共同等待一个状态,这里的状态正常情况下是count的值,当值等于0时所有阻塞的线程恢复执行,否则线程阻塞。

 

以上是关于CyclicBarrier之共享锁的理解的主要内容,如果未能解决你的问题,请参考以下文章

CountDownLatch,CyclicBarrier,Semaphore的使用

JUC并发编程 共享模式之工具 JUC CyclicBarrier(循环栅栏 与CountdownLatch最大的不同是可以重值倒计时) -- CyclicBarrier介绍使用注意事项

iOS多线程编程之锁的理解

CountDownLatch和CyclicBarrier

多线程之Semaphore详解

java 多线程 30: 多线程组件之 CyclicBarrier