JD.UMC.WAIT
当方法在 java.util.concurrent.locks.Condition 对象上调用 wait() 时,发生 JD.UMC.WAIT。
漏洞与风险
该代码不会达到预期结果。
缓解与预防
应通过条件接口定义的一种 await() 方法执行等待条件。
示例 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;
}
}
针对第 13 行的调用报告 JD.UMC.WAIT:已调用方法“cond.wait()”。应改用方法“cond.await()”。