在线程遇到未处理的异常后关闭所有线程的最干净方法是什么?我想在线程可能具有不一致状态并且让其他线程或进程运行无济于事的情况下这样做。
System.exit
是一种方法,即,如下所示:
Thread t = new Thread(new MyRunner());
Thread.UncaughtExceptionHandler eh = new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
System.out.println("2");
System.exit(0);
}
};
t.setUncaughtExceptionHandler(eh);
t.start();
有什么理由不这样做吗?