线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。

20210420133446

  • 新建(New):就是刚使用new方法,new出来的线程。

  • 就绪(Runnable):就是调用的线程的start()方法。该状态的线程位于可运行线程池中,等待获取CPU的使用权。

  • 运行(Running):当就绪的线程被调度并获得CPU资源时,便进入运行状态。

  • 阻塞(Blocked):在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep()、wait()之后线程就处于了阻塞状态,这个时候需要其他机制将处于阻塞状态的线程唤醒,比如调用notify或者notifyAll()方法。唤醒的线程不会立刻执行run方法,它们要再次等待CPU分配资源进入运行状态。

  • 销毁(Dead):线程执行完了或者因异常退出了run方法,该线程结束生命周期。

评论