Files
openide/java/java-impl/resources/inspectionDescriptions/UnconditionalWait.html
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

25 lines
825 B
HTML

<html>
<body>
Reports <code>wait()</code> being called unconditionally within a synchronized context.
<p>
Normally, <code>wait()</code> is used to block a thread until some condition is true. If
<code>wait()</code> is called unconditionally, it often indicates that the condition was
checked before a lock was acquired. In that case a data race may occur, with the condition
becoming true between the time it was checked and the time the lock was acquired.
</p>
<p>
While constructs found by this inspection are not necessarily incorrect, they are certainly worth examining.
</p>
<p><b>Example:</b></p>
<pre><code>
class Bar {
void foo() throws InterruptedException {
synchronized (this) {
wait(); // warning
}
}
}
</code></pre>
<!-- tooltip end -->
</body>
</html>