...
Because the method is synchronized, when the thread is suspended, other threads are unable to use the synchronized methods of the class. The current object's monitor continues to be held because the Thread.sleep()
method lacks synchronization semantics, as detailed in rule THI00-J. Do not assume that the sleep(), yield() or getState() methods provide synchronization semantics.
Compliant Solution (Intrinsic Lock)
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2a387deef7796325-edc7c88d-4ed3418e-be59863c-afdcf06dc9262011c15af05e"><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="8e945c2a97655c14-28e03a30-4d7a48b0-804f827b-6a42ebeeac9096bb15da6329"><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="879361b89a8e27d8-a2fc60a7-42ee4e44-9bc2adbb-2ad3c7359d504a04525fa7e9"><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="fb77bb9ee475623b-a1019f5e-4a784771-9ad88b5c-a16408928840d094956756a5"><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> |
...