一起来学POSIX thread 之 线程状态
1、线程的四种基本状态的转换
在OS中线程作为最基本的调度单元,它存在着四种基本状态,各个状态的转化情况如下图。
四种状态的含义如下:
1)就绪状态:线程能够运行,但在等待可用的处理器。可能刚刚启动,或刚刚从阻塞中恢复,或者从运行状态中被其他线程抢占从运行状态转变为就绪状态。
2)运行状态:线程正在运行。在多处理器系统中,可能有多个线程处于运行状态中。
3)阻塞状态:线程由于等待处理器外的其他条件无法运行,如条件变量的改变、加锁互斥量或I/O操作结束。
4)终止状态:线程从起始函数中返回,或调用pthread_exit,或者被取消,终止自己并完成所有资源清理工作。不是被分离,也不是被连接,一旦线程被分离或者连接,它就可以被回收,回收将释放所有在线程终止时未释放的系统和进程资源,包括保存线程返回值的内存空间、堆栈、保存寄存器状态的内存空间等。