线程的几种状态

为了对进程从产生到消亡的整个过程进行跟踪和描述,就需要定义各种进程的各种状态并制定相应的状态转换策略,以此来控制进程的运行。

进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。

进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。

进程状态:一般来说,进程有三个状态,即就绪状态,运行状态,阻塞状态。
运行态:进程占用CPU,并在CPU上运行;
就绪态:进程已经具备运行条件,但是CPU还没有分配过来;

阻塞态:进程因等待某件事发生而暂时不能运行;


上述状态之间的转换主要由六种情况:

1.运行-->就绪:这是有调度引起的,主要是进程占用CPU的时间过长。

2.就绪-->运行:运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU.

3.运行-->阻塞:发生了I/O请求或者等待某时间的发生

4.阻塞-->就绪:进程所等待的事件发生,就进入就绪状态

以上四种情况可以正常转换,但是下面这两种情况是不能发生的

5.阻塞-->运行:即使给阻塞进程分配CPU,也无法执行,操作系统进行调度时不会从阻塞的队列中进行挑选,其调度的选择对象为就绪队列。

6.就绪-->阻塞:因为就绪状态根本就没有执行,所以就不能进入阻塞

参考http://blog.chinaunix.net/uid-26126915-id-2948970.html

猜你喜欢

转载自blog.csdn.net/u013252047/article/details/79053143