新建(New)
实例化了一个线程对象,但还没有调用 start() 方法。
就绪(Ready)
调用了 start() 方法,但 CPU 还未执行此线程。
运行中(Running)
线程获取了 CPU 的使用权,正在执行此线程。
限期等待(Timed Waiting)
线程不会被分配到 CPU 的执行时间,在指定的时间后,线程会自动被唤醒。如 Thread.sleep() 方法。
无限期等待(Waiting)
线程不会被分配到 CPU 的执行时间,它们要等待被显式地唤醒,否则会处于无限期等待的状态。
阻塞(Blocked)
线程仍处于活动状态但当前没有资格运行,暂时停止运行。如 synchronized 关键字修饰方法或代码块(获取锁)时的状态。
结束(Terminated)
线程执行完毕,此线程生命周期结束。