本帖最后由 冯培军 于 2012-9-7 20:08 编辑
线程的四种状态:
1,新线程态(New Thread) 创建一个Thread对象就生成一个新线程。当线程处于"新线程"状态时,仅仅是一个空线程对象,它还没有分配到系统资源。因此只能启动或终止它。任何其他操作都会引发异常。
2,可运行态(Runnable) start()方法产生运行线程所必须的资源,调度线程执行,并且调用线程的run()方法。在这时线程处于可运行态。
该状态不称为运行态是因为这时的线程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言,任何时刻只能有一个处于可运行态的线程占用处理机。
Java通过调度来实现多线程对处理机的共享。
3,冻结状态(Not Runnable) 当以下事件发生时,线程进入非运行态。 ①suspend()方法被调用; ②sleep()方法被调用; ③线程使用wait()来等待条件变量; ④线程处于I/O等待。
4,消亡状态(Dead) 当run()方法返回,或别的线程调用stop()方法,线程进入消亡态 。通常Applet使用它的stop()方法来终止它产生的所有线程。
|
|