Java如何停止線程一會兒?
如何停止一個線程一會兒?
解決方法
下麵的例子如何通過創建一個用戶定義的方法run()獲取定時器類的方式,來停止一個線程。
import java.util.Timer; import java.util.TimerTask; class CanStop extends Thread { private volatile boolean stop = false; private int counter = 0; public void run() { while (!stop && counter < 10000) { System.out.println(counter++); } if (stop) System.out.println("Detected stop"); } public void requestStop() { stop = true; } } public class Stopping { public static void main(String[] args) { final CanStop stoppable = new CanStop(); stoppable.start(); new Timer(true).schedule(new TimerTask() { public void run() { System.out.println("Requesting stop"); stoppable.requestStop(); } }, 350); } }
結果
上麵的代碼示例將產生以下結果。
Detected stop