“鲜有人了解的同步原语 Phaser,和 Barrier 有啥区别?”

鸟窝 at 
“鲜有人了解的同步原语Phaser,和Barrier有啥区别?”的配图
Java 中的 Phaser 是一个同步原语,它可以让多个线程在某个时刻同步执行。它和 Barrier 有点类似,但是它比 Barrier 更加灵活。举一个例子哈,比如足球迷特别喜欢的欧洲冠军联赛,它的赛制就分为多个阶段:欧洲冠军联赛由欧冠资格赛、欧冠附加赛和欧冠正赛三部分组成。欧冠资格赛,分为预赛轮(preliminary round)、第一轮资格赛(first qualifying round)、第二轮资格赛(second qualifying round)和第三轮资格赛(third qualifying round)。第三轮资格赛的优胜的 10 支球队进入欧冠附加赛,附加赛优胜的 6 支……