猿问

这个中断是哪个线程调用的?

下面的代码运行时不抛异常

public class Test extends Thread {

	public void run() {
		
			try {
				
				Thread.sleep(1000);
				this.interrupt();
			} catch (InterruptedException e) {
				
				e.printStackTrace();
				
			}
			
		
	}
	public static void main(String[] args) {
		
		Test testThread = new Test();
		testThread.start();
		
	}
}

下面代码运行时抛InterruptedException异常

public class Test extends Thread {

	public void run() {
		
			try {
				
				Thread.sleep(1000);
				this.interrupt();
			} catch (InterruptedException e) {
				
				e.printStackTrace();
				
			}
			
		
	}
	public static void main(String[] args) {
		
		Test testThread = new Test();
		testThread.start();
		
	    testThread.interrupt();
		
		
	}
}

照这样来说:第二段代码的最后一句 testThread.interrupt(); 这句是main线程调用的,不是testThread线程调用的?

qq_杀意隆_0
浏览 792回答 1
1回答

半枯

testThread.getName()可以输出线程的名字
随时随地看视频慕课网APP

相关分类

Java
我要回答