...
Programs must ensure that threads that hold locks on other objects release those locks appropriately, before entering the wait state. Additional guidance on waiting and notification is available in rules THI03-J. Always invoke wait() and await() methods inside a loop and THI04-J. Notify all waiting threads instead of rather than a single thread.
Noncompliant Code Example (Network I/O)
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ac2ae2e15abb80fd-c9a2ba9f-429b4cbb-b2e89623-9160ea6137732145f707fb44"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. Bibliography#API 06]] | Class | ]]></ac:plain-text-body></ac:structured-macro> | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="22029b5218fe1348-f186b4dc-461b4f5f-8773b31b-06e0cb58b87ab9ba73408fd8"><ac:plain-text-body><![CDATA[ | [[Grosso 2001 | AA. Bibliography#Grosso 01]] | [Chapter 10: Serialization | http://oreilly.com/catalog/javarmi/chapter/ch10.html] | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ff2977591ba73910-f19dc9f4-41164d6f-ab87a594-768a31890702a4044cdf45dd"><ac:plain-text-body><![CDATA[ | [[JLS 2005 | AA. Bibliography#JLS 05]] | [Chapter 17, Threads and Locks | http://java.sun.com/docs/books/jls/third_edition/html/memory.html] | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="84c7764789776e6c-a23c0a62-48f74a21-88b0a4ea-a15b616f4e305cb98f17f51e"><ac:plain-text-body><![CDATA[ | [[Rotem 2008 | AA. Bibliography#Rotem 08]] | [Falacies of Distributed Computing Explained | http://www.rgoarchitects.com/Files/fallacies.pdf] | ]]></ac:plain-text-body></ac:structured-macro> |
...