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