public static void sleep(long millis)
Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds. The thread does not lose ownership of any monitors.
millis - the length of time to sleep in milliseconds.
InterruptedException - if another thread has interrupted the current thread. The interrupted status of the current thread is cleared when this exception is thrown.
Actually when a thread goes to sleep, if it is not owning any locks, then it behaves like the yield method ie., it allows other threads ( in the waiting pool ) to run.