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()' 调用
// ...
}
}