Java Thread何时到达’Die’状态

在Java中,Die是一个线程上的状态之一。

什么导致线程进入这种状态?

从Thread API ,这是一个完整的列表:

  • 如果run()方法返回。
  • 如果抛出的exception超出run方法传播。
  • 如果它是守护程序线程并且所有非守护程序线程都“死”
  • 如果已调用类Runtime的exit方法(即使在另一个线程)。

所有Thread都是通过从调用run方法返回或者抛出一个超出run方法传播的exception而死掉的。

线程有两种死亡方式:

a)它可能死于自然原因,即run()方法完成或返回时,

要么

b)可以通过使用stop()方法或程序出现问题(可能是exception)或计算机来杀死它。

线程在以下情况下死亡:

  1. 当它运行的方法完成(或抛出)
  2. 当流程终止时
  3. 关闭计算机或重置计算机时。