找了一个停止线程运行的方法,代码如下:
public class stopThread extends Thread { private volatile boolean stop = false; @Override public void run(){ System.out.println("t1 is start..."); while(!stop){ System.out.println("t1 is running...."); } System.out.println("t1 stopped"); } public void terminate(){ stop = true; } public static void main(String[] args){ stopThread t1 = new stopThread(); t1.start(); for(int i = 0; i < 500000;i++ ){ System.out.println("main is running...."); } t1.terminate(); } }
如此就可以停止掉一直在运行的线程。
可是这么干有一个问题,我现在写的是很快就返回到了while去判断条件,这样会跳出来。但是如果是要控制线程执行时间,如果超时就不执行了,直接返回,这段代码还是不合适。可以再想想。。。。
时间: 2024-10-15 20:47:45