Java线程生命周期

发布时间 2023-11-24 15:30:23作者: kiper

操作系统线程生命周期

操作系统线程生命状态有5种。

  • 初始状态(New)
    进程正在被创建时的状态。仅为线程对象开辟了一块堆内存,实际上线程在操作系统层面还未创建。

  • 就绪状态 (Ready)
    可运行,由于其他进程处于运行状态而暂时停止运行

  • 运行状态 (Running)
    该进程此时正占用CPU

  • 阻塞状态 (Blocked)
    该进程正在等待某一事件发生(如等待IO操作)而暂时停止运行,此时给它CPU控制权也无法运行

  • 终止状态 (Terminated)
    进程正在从系统中消失的状态

JVM线程生命周期

JVM线程状态有6种。

  • 初始状态(New)

  • 就绪/运行状态(Runnable)

  • 阻塞状态(Blocked)

  • 无时限等待(Waiting)

  • 有时限等待(Timed_Waiting)

  • 终止状态(Terminated)

其中将操作系统的就绪及运行状态合并为运行状态,将阻塞状态又细分为了阻塞状态、无时限等待、有时限等待,故可以简单地将JVM线程生命周期分为以下四种。
image