JD.UMC.WAIT
JD.UMC.WAIT は、メソッドが java.util.concurrent.locks.Condition オブジェクト上で wait() を呼び出す場合に発生します。
脆弱性とリスク
このコードは、意図された結果を達成しません。
軽減と防止
Condition の待機は、Condition インターフェイスによって定義された await() メソッドの 1 つで実行する必要があります。
例 1
コピー
void waitForCondition(Condition cond) {
try {
cond.wait();
} catch (InterruptedException e) {
return;
}
}
// corrected code
void waitForCondition2(Condition cond) {
try {
cond.await();
} catch (InterruptedException e) {
return;
}
}
JD.UMC.WAIT が 13 行目の呼び出しに対して報告されています。'cond.wait()' メソッドの呼び出しがあります。おそらく、'cond.await()' メソッドの間違いです。