最近学习了CyclicBarrier,但是这里有个问题:
代码:
public class Main {
public static CyclicBarrier c;
public static void main(String[] agrs){
int threadsCount = 5;
c = new CyclicBarrier(threadsCount + 1);
// make 5 A threads to run
}
}
public class A implements Runnable {
public void run(){
// do something
Main.c.await();
// do something
}
}
在关于代码中,我想知道为什么我必须通过 (threadsCount + 1) 而不是 (threadsCount) 初始化 CyclicBarrier,因为我从未在 main 方法中调用 await()?