使用示例
public class Test {
public static void main(String[] args) throws Exception{
CyclicBarrier barrier = new CyclicBarrier(3, ()-> {
System.out.println("3个线程执行完毕,即可召唤圣龙!");
}); //计时器
for(int i=1; i<=3; i++) {
new Thread(() -> {
System.out.println(Thread.currentThread().getName()+":出来吧,无敌圣龙!");
try {
barrier.await(); //等待
} catch (Exception e) {
e.printStackTrace();
}
}, "Thread-"+i).start();
}
barrier.reset(); //重置
}
}
结果:
Thread-1:出来吧,无敌圣龙!
Thread-2:出来吧,无敌圣龙!
Thread-3:出来吧,无敌圣龙!
3个线程执行完毕,即可召唤圣龙