대응하는 Condition.signal() 또는 Condition.signalAll() 로의 호출을 찾을 수 없는 경우 Condition.await() 호출을 보고합니다.

대응하는 Condition.signal()이 없이 스레드에서 Condition.await()를 호출하면 스레드는 중단되거나 "비정상적으로 깨어나기" 전까지 비활성화될 수 있습니다.

현재 클래스의 필드를 대상으로 하는 호출만 이 검사에서 보고됩니다.

예:


  class Queue {
    private final Condition isEmpty = ...;

    void add(Object elem) {
      // ...
      // isEmpty.signal();
      // ...
    }

    void remove(Object elem) throws InterruptedException {
      // ...
      isEmpty.await(); // 'await()'가 대응하는 'signal()'/'signalAll()' 호출을 포함하지 않습니다
      // ...
    }
  }