i

JAVA Complete Course

Inter-thread Communication

Inter-thread communication is the process which allows  synchronized threads to communicate with each other. This is a mechanism in which a thread is paused running in its critical section and different thread is allowed to execute the same critical section. This process is implemented by three methods of Object class:

Wait() – In this case, current thread releases the lock and waits until  either a specified amount of time has elapsed or another thread invokes the notify() method or the notifyAll() method for this object.

Notify() – In this case, the thread that is waiting on this object's monitor is waking up. If any threads are waiting on this object, one of them will be chosen to be awaked. The choice is the discretion of the implementation.

NotifyAll() – This method is waking up all the threads which are waiting on this object's monitor.