最近在读《 Java Concurrency in Practice 》,读到 CyclicBarrier 时对书上的例子有一些疑惑,大家能帮忙解答下吗?[https://jcip.net/listings/CellularAutomata.java]
在 5.15 Coordinating computation in a cellular automaton with CyclicBarrier.中
public void start() {
for (int i = 0; i < workers.length; i++)
new Thread(workers[i]).start();
mainBoard.waitForConvergence();
}
while (!board.hasConverged())。。。
这里我理解 mainBoard.waitForConvergence();是一个判断 while (!board.hasConverged())终止的条件;如果书里这样写的话,mainBoard.waitForConvergence();运行的时间不确定啊,如果在判断之前,是不是 while 循环永远不会停止了,好心人帮忙解答下