首页 > 代码库 > 多线程(三)

多线程(三)

线程的四种状态

1 产生(new):线程对象已经产生但是尚未被启动,所以无法执行,通过new产生对象后没有对它调用start()方法。

2 可执行(Runnable):每一个支持多线程的系统都有一个排程器,排程器会从线程池中选择一个线程并且启动它,当一个线程处于可执行状态的时候时候,表示它可能处于线程池中等待排程器启动它;也有可能它正在执行。如执行了一个线程对象的start()方法后,线程就处于可执行状态。但是,显然线程可能并不是在执行中。具备了执行权限,但并没有执行。

3 停滞(Blocks):当一个线程处于停滞状态的时候,系统排程器就会忽略它,不对它进行排程。当处于停滞状态的线程重新回到可执行状态的时候,它可能重新执行。如通过对一个线程调用wait()方法后,线程就进入了停滞状态。只有对此调用notify()或者notifyAll()可使其回到可执行状态。

4 死亡(Dead):当一个线程正常结束,它处于死亡状态,如一个线程的run()方法执行完毕后。

多线程(三)