一、线程状态的6个定义
Java中线程状态的定义在java.lang.Thread.State
类里,共分为5个状态,如下:
-
New
:尚未启动的线程的线程状态。 -
Runnable
:可运行线程的线程状态,等待CPU调度。 -
Blocked
:线程阻塞等待获取同步监视器锁定的线程状态,处于阻塞状态的线程在进入同步代码块/同步方法或者再次进入同步代码块/同步方法前需获取同步监视器的锁定。 -
Waiting
:等待线程的状态,不带超时的方法有:Object.wait、Thread.join、LockSupport.park。 -
Timed Waiting
:具有指定等待时间的等待线程的线程状态,带超时的方法有:Thread.sleep、Object.wait、Thread.join、LockSupport.parkNanos、LockSupport.parkUntil。 -
Terminated
:终止线程的线程状态,线程正常完成执行或者出现异常会处于该状态。