Monday, July 16, 2012

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


1 comment :