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