mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
25 lines
825 B
HTML
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> |