终止线程一般不使用JDK提供的 stop()/destory() 方法它们本身也被JDK废弃了。通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行。
public class stopThread implements Runnable {private boolean flag = true;@Overridepublic void run(){System.out.println(Thread.currentThread().getName()+ " 线程开始");int i = 0;while(flag){System.out.println(Thread.currentThread().getName()+ " " + i++);try{Thread.sleep(1000);}catch(InterruptedException e){e.printStackTrace();}}System.out.println(Thread.currentThread().getName()+" 线程结束");}public void stop(){this.flag = false;}public static void main(String[] args)throws Exception{System.out.println("主线程开始");StopThread st = new StopThread();Thread t1 = new Thread();t1.start();System.in.read();st.stop();System.out.println("主线程结束");}
}