6.4.1 线程状态
线程是当进程被调度执行时的执行单元。如果进程中只有一个线程,该线程是指派到处理器内核的主线程。如果进程有着多个线程,而且对于该进程有多个处理器可用,那么所有的线程都会被指派到处理器上。
当线程被调度到处理器内核上执行时,它会改变自身的状态。线程状态是指在任意指定时间所处的模式或情形。线程有着同第5章为进程介绍的状态和转换相同的状态和转换。有4种常见的状态:
可运行
运行(活动)
停止
休眠(阻塞)
存在如下的转换:
抢占
接到信号
分派
时间片用完
主线程可以决定整个进程的状态。如果主线程是唯一的线程,则主线程的状态同进程的状态相同。如果主线程在休眠,进程也在休眠。如果主线程在运行,进程也在运行。对于有着多个线程的进程,只有进程中所有线程都处于休眠或停止状态时,我们才能够认为整个进程休眠或停止。另一方面,如果一个线程是活动的(可运行或运行),那么进程会被认为是活动的。