Learning Java Concurrency - CyclicBarrier
CyclicBarrier,正如同名字里面表达出来的,是一个可以循环使用的屏障。与CountDownLatch类似,它可以用来表达等待某个状态,比如大家都到齐了,那么开始开会吧。与CountDownLatch不同的是,它可以多次等待,也就是可以等待多个状态。
好吃不过栗子。比如哈利波特的三强争霸赛,要一项一项任务地完成,大家都结束了(不管成功还是失败),才开始计划下一个任务。第一个是去挑战龙;然后是到海里面挑战人鱼群;最后是挑战伏地魔。每一个任务总是要等大家都完成了才开始。
还有一个栗子。大家一起去面试,有的公司为了省事,等凑齐了一波人才开始走流程。HR领着大家一起先笔试,然后安排初面官,然后安排复试官。每一关刷掉一波人,但是只有大家都结束了才进行下一轮。别问我哪里有这样的招聘部门,人家开心就好。