Inter-thread Communication in JavaInter-thread communication or Co-operation is all about allowing synchronized threads to communicate with each other. Cooperation (Inter-thread communication) is a mechanism in which a thread is paused running in its critical section and another thread is allowed to enter (or lock) in the same critical section to be executed.It is implemented by following methods of Object class:
1) wait() methodThe wait() method causes current thread to release the lock and wait until either another thread invokes the notify() method or the notifyAll() method for this object, or a specified amount of time has elapsed. The current thread must own this object's monitor, so it must be called from the synchronized method only otherwise it will throw exception.
2) notify() methodThe notify() method wakes up a single thread that is waiting on this object's monitor. If any threads are waiting on this object, one of them is chosen to be awakened. The choice is arbitrary and occurs at the discretion of the implementation. Syntax: 3) notifyAll() methodWakes up all threads that are waiting on this object's monitor. Syntax: Understanding the process of inter-thread communicationThe point to point explanation of the above diagram is as follows:
Why wait(), notify() and notifyAll() methods are defined in Object class not Thread class?It is because they are related to lock and object has a lock. Difference between wait and sleep?Let's see the important differences between wait and sleep methods.
Example of Inter Thread Communication in JavaLet's see the simple example of inter thread communication. Test.java Output: going to withdraw... Less balance; waiting for deposit... going to deposit... deposit completed... withdraw completed Next TopicInterrupting A Thread |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India