参考答案
线程中断与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—
