问答详情
源自:3-3 Java线程停止广为流传的错误方法---interrupt方法

为什么我直接使用interrupt能直接终止进程?运行结果居然是正确的

public class WrongWayStopThread extends Thread{

	public void run(){
		
		System.out.println("线程正在运行");
		long time = System.currentTimeMillis();
		while((System.currentTimeMillis()-time)<1000){}
	}
	
	public static void main(String[] args) {
		
		WrongWayStopThread wwst = new WrongWayStopThread();
		System.out.println("启动线程 ");
		wwst.start();
		
		try {
			sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
		System.out.println("中断线程");
		wwst.interrupt();
		
		try {
			sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("线程结束了");
		
	}

}

548ea1f80001fd3c01130082.jpg

提问者:Lemuria 2014-12-15 16:56

个回答

  • Lemuria
    2014-12-15 17:04:34

    自己找到错误了,run方法中没写while循环