主要方法
arriveAndAwaitAdvance()
執執此方法呼叫,到達某barrier
並且,等待一段時間後條件滿足:parties數量 == 達到、計數、此方法呼叫的數量,則:繼續向下一個barrier前進
否則就阻塞
arriveAndDeregister()
退出parties,使得 parties——
getPhase()
已arrived第幾個barrier
onAdvance()
callback: 當透過barrier後,被觸發呼叫;
return false == 繼續工作;
return true == 不等待,parties——(取消此barrier的意思)
getRegisteredParties()
獲取parties數量
register()
parties++
bulkRegister()
bulk /blk/ 主體;大部分體積;大(量)
批次
增加parties
getArrivedParties() & getUnarrivedParties()
獲取“已使用”和“未使用”的parties數量
arrive()
parties++,且,不在barrier處等待,直接next
awaitAdvance(int phase)
當:phase引數值 == getPhase()值時,await等待; 否則,next
awaitAdvanceUninterruptibly(int phase)
可中斷的
forceTermination()
強制Phaser的barrier功能失效
isTerminated()
判斷Phaser是否已失效