Stopping a Thread

The proper way to stop a running thread is to set a variable that the thread checks occasionally. When the thread detects that the variable is set, it should return from the run() method.

Note: Thread.suspend() and Thread.stop() provide asynchronous methods of stopping a thread. However, these methods have been deprecated because they are very unsafe. Using them often results in deadlocks and incorrect resource cleanup.

// Create and start the thread MyThread thread = new MyThread(); thread.start(); // Do work... // Stop the thread thread.allDone = true; class MyThread extends Thread { boolean allDone = false; // This method is called when the thread runs public void run() { while (true) { // Do work... if (allDone) { return; } // Do work... } } }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.