Java Thread何时到达’Die’状态
在Java中,Die是一个线程上的状态之一。
什么导致线程进入这种状态?
从Thread API ,这是一个完整的列表:
- 如果run()方法返回。
- 如果抛出的exception超出run方法传播。
- 如果它是守护程序线程并且所有非守护程序线程都“死”
- 如果已调用类Runtime的exit方法(即使在另一个线程)。
所有Thread
都是通过从调用run
方法返回或者抛出一个超出run
方法传播的exception而死掉的。
线程有两种死亡方式:
a)它可能死于自然原因,即run()方法完成或返回时,
要么
b)可以通过使用stop()方法或程序出现问题(可能是exception)或计算机来杀死它。
线程在以下情况下死亡:
- 当它运行的方法完成(或抛出)
- 当流程终止时
- 关闭计算机或重置计算机时。