...
Code Block | ||
---|---|---|
| ||
public synchronized void doSomething(long time) throws InterruptedException { // ... Thread.sleep(time); } |
Because the method is synchronized, if the thread is suspended, other threads are unable to use the synchronized methods of the class. The current object's monitor is not released because the Thread.sleep()
method does not have any synchronization semantics, as detailed in guideline THI00-J. Do not assume that the sleep(), yield() or getState() methods provide synchronization semantics.
...