Difference between wait() and sleep methods in Java
The following section captures the main difference between wait and sleep method wait method wait sends the current thread to non-runnable state thread releases the lock on the object before going to non-runnable state. wait () method is defined on Object class wait () is a instance method wait() should be called when the thread has already acquired the lock on the object the thread will be in non-runnable state untill the time is elapsed or another thread invoked notify() / notifyAll() method on the object sleep () method sleep () method will send the current thread to non-runnable state for the specified time. sleep() method is defined in Thread class sleep() method is a Static method. sleep () does not cause the thread to releases the lock on the object