CyclicBarrier 循环屏障
2021-12-09 15:54:25 6 举报
CyclicBarrier 循环屏障
作者其他创作
大纲/内容
nextGeneration下一个屏障
count--
进入等待队列等待唤醒
否
count 是否等于 0即是否是最后一个到达的线程
trip.signalAll唤醒所有等待线程
是
是否为延时等待
通过generation.broken判断是否已经被提前打破
breakBarrier打破屏障
dowait
是否中断
lock
trip.await
标记generation.broken为 true并唤醒所有线程
当任务抛出异常或超时时则打破屏障
trip.awaitNanos
BrokenBarrierException抛异常
barrierCommand不为 null 则调用
0 条评论
下一页