In java a thread can be stopped in two ways either by user (by calling sleep or wait) or by a synchronized block. The thread stops working or is blocked (waiting for a lock to be released by some other thread) when it tries to enter the synchronized block(if some other thread has acquired the same lock).
So I wanted to know if there is any difference in the states of the threads (by state I mean thread variables, context etc) blocked by synchronized block and the user methods like sleep in java.