12.3.6 消亡状态(Terminated)
当线程处于消亡状态(Terminated)时,表示线程不能再被运行,也不能再转换为其他状态。以下方法可以让线程进入消亡状态:
run()或call()方法执行完成,线程正常结束;
线程抛出一个未捕获的Exception或Error;
直接调用该线程stop()方法来结束该线程。(https://www.daowen.com)
其中,stop()方法容易导致死锁,因此不建议使用,该方法已经被废弃。另外,如果线程已经处于消亡状态,这时在这个线程上调用start()方法,会抛出java.lang.IllegalThreadState Exception异常。
说明:
线程一旦进入消亡状态,就不能再回到之前的状态;同理,线程一旦使用start()方法进入就绪状态,也不能再回到新建状态。