Difference between wait() and sleep methods in Java
The following section captures the main difference between wait and sleep method
wait method
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
Good post add other collections too
ReplyDelete