CyclicBarrier是一个辅助同步器类,在JDK1.5时随着JUC一起引入。
跟CountDownLatch有些类似,CyclicBarrier可以认为是一个栅栏,栅栏的作用就是阻挡前行。
顾名思义,CyclicBarrier是一个可以循环使用的栅栏:
让线程到达栅栏时被阻塞(调用await方法),直到到达栅栏的线程数满足指定数量要求时,栅栏才会打开放行。
这其实有点像军训报数,报数总人数满足教官认为的总数时,教官才会安排后面的训练。
具体原理与使用示例请查看https://segmentfault.com/a/1190000015888316