把上面的程序return,变成自己通过throw主动抛出异常,结果是一样的。
例:1.5.1_1
class MyThreadMark_to_win extends Thread{
private boolean stop;
public void run() {
for (int i = 0; i < 100; i++) {
if (stop) {
System.out.println("退出了");
throw new ArithmeticException("divide by 0");
}
try {
Thread.sleep(200);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("i = " + i);
}
}
public void setStop(boolean stop) {
this.stop = stop;
}
}
public class Test {
public static void main(String[] args) {
MyThreadMark_to_win mt = new MyThreadMark_to_win();
mt.start();
try {
Thread.sleep(300);
} catch (Exception e) {
更多请见:https://blog.youkuaiyun.com/qq_44639795/article/details/103105926
本文介绍了一个Java线程编程示例,演示如何通过主动抛出异常来控制线程提前终止。示例中定义了一个名为MyThreadMark_to_win的自定义线程类,并在run方法中使用throw抛出异常实现线程的提前退出。
1万+

被折叠的 条评论
为什么被折叠?



