This commit is contained in:
CyC2018 2018-08-14 21:10:24 +08:00
commit 489fad2ead

View File

@ -758,6 +758,7 @@ run..run..run..run..run..run..run..run..run..run..end
用来控制多个线程互相等待,只有当多个线程都到达时,这些线程才会继续执行。
<<<<<<< HEAD
和 CountdownLatch 相似,都是通过维护计数器来实现的。线程执行 await() 方法之后计数器会减 1并进行等待直到计数器为 0所有调用 awati() 方法而在等待的线程才能继续执行。
CyclicBarrier 和 CountdownLatch 的一个区别是CyclicBarrier 的计数器通过调用 reset() 方法可以循环使用,所以它才叫做循环屏障。
@ -771,6 +772,9 @@ public CyclicBarrier(int parties, Runnable barrierAction) {
this.count = parties;
this.barrierCommand = barrierAction;
}
=======
和 CountdownLatch 相似都是通过维护计数器来实现的。初始化的时候计数器count与构造函数传入的参数parties相同每次有线程调用await方法时候计数器count不断减1直到count减为0时等待的所有线程才会继续执行。和 CountdownLatch 的另一个区别是CyclicBarrier 可以通过调用reset方法循环使用所以它才叫做循环屏障。
>>>>>>> 8fffe40cb7afc5159cb5751b8906ac9cea7cc563
public CyclicBarrier(int parties) {
this(parties, null);