我有一堆执行计算的线程。它们使用CyclicBarrier
. 当任何线程的run()
方法完成时,我希望所有await()
其他线程在下次调用屏障时也退出。
到目前为止,我尝试过的所有事情要么挂在await()
电话上,要么导致障碍被打破。有小费吗?
编辑:这是(基本)代码:
public MyClass implements Runnable {
public void run() {
while (true) {
if (someCondition) {
// quit other threads when they call await()
return;
}
barrier.await();
}
}