参考答案
线程中断与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—
👇阅读作者更多技术干货👇
阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师
以上
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》