Java 线程的生命周期

1、Java 线程的生命周期

在整个 Java 线程的生命周期中,总共分为五种状态:

  • New,新建状态
  • Active,运行状态
  • Blocked / Waiting,堵塞/等待状态
  • Timed Waiting,计时等待状态
  • Terminated,结束状态

这五种状态的关系如下图所示:

2、等待状态与计时等待状态的区别

等待状态与计时等待状态的区别主要体现在:是否有时间限制。

以下三种情况都属于计时等待状态:

  • sleep
  • join with timeout
  • wait with timeout

反之,

  • join without timeout
  • wait without timeout

则属于等待状态。

3、参考

https://www.javatpoint.com/life-cycle-of-a-thread