一、线程状态的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
:终止线程的线程状态,线程正常完成执行或者出现异常会处于该状态。