Phaser 和 CountDownLatch、CyclicBarrier 都有很相似的地方。
Phaser 顧名思義,就是可以分階段的進(jìn)行線程同步。
CountDownLatch 只能在創(chuàng)建實例時,通過構(gòu)造方法指定同步數(shù)量; Phaser 支持線程動態(tài)地向它注冊。
利用這個動態(tài)注冊的特性,可以達(dá)到分階段同步控制的目的:
注冊一批操作,等待它們執(zhí)行結(jié)束;再注冊一批操作,等它們結(jié)束...