java.util.concurrent.locks.Condition.await() がループ内で呼び出されていないことを報告します。

await() とその関連メソッドは通常、ある条件が true になるまでスレッドを一時停止するために使用されます。 このようなスレッドは別の理由で呼び起こされている可能性があるため、await() を呼び出した後は条件を確認する必要があります。 これを実現するには、ループを使用するのが簡単です。

例:


  void acquire(Condition released) throws InterruptedException {
    released.await();
  }

次のようなコードが適切です:


  void acquire(Condition released) throws InterruptedException {
    while (acquired) {
      released.await();
    }
  }