参考答案
线程中断与stop的区别:
- public final void stop(): 让线程停止,方法过失了,但还可以用。
- public void interrupt(): 中断线程,并抛出InterruptedException,程序正常结束。
线程中断与stop的实例:
public class ThreadSleepDemp { public static void main(String[] args) { ThreadStop ts = new ThreadStop(); ts.start(); //超过3s ,线程停止 try { Thread.sleep(3000); ts.stop(); //ts.interrupt(); } catch (InterruptedException e) { e.printStackTrace(); } } } public class ThreadStop extends Thread{ @Override public void run(){ System.out.println("开始执行:" + new Date()); //我要休息5s!! try { Thread.sleep(5000); } catch (InterruptedException e) { System.out.println("线程被终止了!"); } System.out.println("执行结束:" + new Date()); } }
在上述代码中,分别使用stop和interrupt方法结果比较。
stop方法:
开始执行:Fri Oct 30 11:09:42 GMT+08:00 2020
interrupt方法:
开始执行:Fri Oct 30 11:18:49 GMT+08:00 2020 线程被终止了! 执行结束:Fri Oct 30 11:18:52 GMT+08:00 2020
以上,是Java面试题【线程中断与stop的区别】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—