如果任务抛出一个未检查的异常它将允许线程终结,但是会首先通知框架:线程已经终结。然后,框架可能会用新的线程取代这个工作线程,也可能不会这样做。
public void run(){
Throwable thrown=null;
try{
while (!isInterrupted())
runTask(getrTaskFromWorkQueue());
}
catch (Throwable e){
thrown=e;
}
finally{
threadExited(this,thrown);
}
}
本文探讨了线程中未检查异常的处理方式。当线程因未检查异常而终止时,程序如何通过特定机制通知系统并可能重启线程。

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



