99 Java - Thread Control
Java Thread Control
Core Java provides complete control over multithreaded program. You can develop a multithreaded program which can be suspended, resumed, or stopped completely based on your requirements. There are various static methods which you can use on thread objects to control their behavior.
Methods for Controlling Java Thread
Following table lists down the methods for controlling a thread in Java: −
| Sr.No. | Method & Description |
|---|---|
| 1 | public void suspend() This method puts a thread in the suspended state and can be resumed using resume() method. |
| 2 | public void stop() This method stops a thread completely. |
| 3 | public void resume() This method resumes a thread, which was suspended using suspend() method. |
| 4 | public void wait() Causes the current thread to wait until another thread invokes the notify(). |
| 5 | public void notify() Wakes up a single thread that is waiting on this object's monitor. |
Be aware that the latest versions of Java has deprecated the usage of suspend( ), resume( ), and stop( ) methods and so you need to use available alternatives.
Example of Thread Control in Java
The above program produces the following output −
Output
Creating Thread-1 Starting Thread-1 Creating Thread-2 Starting Thread-2 Running Thread-1 Thread: Thread-1, 10 Running Thread-2 Thread: Thread-2, 10 Thread: Thread-1, 9 Thread: Thread-2, 9 Thread: Thread-1, 8 Thread: Thread-2, 8 Thread: Thread-1, 7 Thread: Thread-2, 7 Suspending First Thread Thread: Thread-2, 6 Thread: Thread-2, 5 Thread: Thread-2, 4 Resuming First Thread Suspending thread Two Thread: Thread-1, 6 Thread: Thread-1, 5 Thread: Thread-1, 4 Thread: Thread-1, 3 Resuming thread Two Thread: Thread-2, 3 Waiting for threads to finish. Thread: Thread-1, 2 Thread: Thread-2, 2 Thread: Thread-1, 1 Thread: Thread-2, 1 Thread Thread-1 exiting. Thread Thread-2 exiting. Main thread exiting.

Comments
Post a Comment