計算を実行するスレッドがたくさんあります。を使用して「同期」され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();
}
}