《Java多线程编程核心技术(第2版)》 —1.11.6 stop()方法与java.lang.ThreadDeath异常
【摘要】 本节书摘来自华章计算机《Java多线程编程核心技术(第2版)》 一书中第1章,第1.11.6节,作者是高洪岩。
1.11.6 stop()方法与java.lang.ThreadDeath异常
调用stop()方法时会抛出java.lang.ThreadDeath异常,但在通常情况下,此异常不需要显式地捕捉。
创建测试用的项目runMethodUseStopMethod,文件MyThread.java代码如下:
package testpackage;
public class MyThread extends Thread {
@Override
public void run() {
try {
this.stop();
} catch (ThreadDeath e) {
System.out.println("进入了catch()方法!");
e.printStackTrace();
}
}
}
文件Run.java代码如下:
package test.run;
import testpackage.MyThread;
public class Run {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
程序运行结果如图1-51所示。
图1-51 进入catch异常
stop()方法已经是作废的方法,因为如果暴力性地强制让线程停止,则一些清理性的工作可能得不到完成,或者数据添加不完整。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)