[size=medium]线程从创建到执行完毕的整个过程称为线程的生命周期,在整个生命周期中,线程对象总是处于下述各生存状态中的某一个,如下图所示:
[img]http://dl.iteye.com/upload/attachment/318676/880e9d4e-0e15-3e02-855a-98318a393af2.jpg[/img]
从图中可以看出:线程从阻塞(Blocked)状态只能进入就绪状态,无法进入运行状态的。就绪状态和运行状态之间的转换通常不受程序控制,而是由系统线程调度所导致的,当就绪状态的线程获得处理器资源时,该线程就进入运行状态;当运行状态的线程失去处理器资源时,该线程进入就绪状态。但是有一个方法例外,调用yield()可以让当前处于运行状态的线程转入就绪状态。[/size]
[img]http://dl.iteye.com/upload/attachment/318676/880e9d4e-0e15-3e02-855a-98318a393af2.jpg[/img]
从图中可以看出:线程从阻塞(Blocked)状态只能进入就绪状态,无法进入运行状态的。就绪状态和运行状态之间的转换通常不受程序控制,而是由系统线程调度所导致的,当就绪状态的线程获得处理器资源时,该线程就进入运行状态;当运行状态的线程失去处理器资源时,该线程进入就绪状态。但是有一个方法例外,调用yield()可以让当前处于运行状态的线程转入就绪状态。[/size]