线程的状态
在 及以下的版本中,每个线程都具有新建、可运行、阻塞、死亡四种状态,但是在 ! 及以上版本中,线程的状态被扩
充为新建、可运行、阻塞、等待、定时等待、死亡六种。线程的状态完全包含了一个线程从新建到运行,最后到结束的整个生命周期。
线程状态的具体信息如下:
NEW(新建状态、初始化状态):线程对象已经被创建,但是还没有被启动时的状态。这段时间就是在我们调用
命令之后,调用 方法之前。
RUNNABLE(可运行状态、就绪状态):在我们调用了线程的 方法之后线程所处的状态。处于 "##$%&'
状态的线程在 $($ 虚拟机(())上是运行着的,但是它可能还正在等待操作系统分配给它相应的运行资源以得以运
行。
* BLOCKED(阻塞状态、被中断运行):线程正在等待其它的线程释放同步锁,以进入一个同步块或者同步方法继续
运行;或者它已经进入了某个同步块或同步方法,在运行的过程中它调用了某个对象继承自 +, 的
方法,正在等待重新返回这个同步块或同步方法。
WAITING(等待状态):当前线程调用了 +,、或者
,,,&,-...三个中的任意一个方法,正在等待另外一个线程执行某个操作。比
如一个线程调用了某个对象的 方法,正在等待其它线程调用这个对象的 /或者 /$(这两个方法
同样是继承自 +, 类)方法来唤醒它;或者一个线程调用了另一个线程的 (这个方法属于 类)方法,
正在等待这个方法运行结束。
TIMED_WAITING(定时等待状态):当前线程调用了 +,
、、,,,&,-...,#
、,,,&,-...,"四个方法中的任意一个,进入等待