线程的基本知识和使用方法

本文介绍了线程的基本操作,包括创建、终止、阻塞和唤醒,并详细讲解了Unix International线程、POSIX线程、C++11线程、C11线程和Win32线程的API用法,以及线程的状态变化和分类。
摘要由CSDN通过智能技术生成

线程 - 基本操作

派生:线程在进程内派生出来,它即可由进程派生,也可由线程派生。

线程的状态与操作 线程的状态与操作图册

阻塞(Block) :如果一个线程在执行过程中需要等待某个事件发生,则被阻塞。
激活(unblock :如果 阻塞 线程的事件发生,则该线程被激活并进入就绪队列。
调度(schedule) :选择一个就绪线程进入执行状态。
结束(Finish) :如果一个线程执行结束,它的寄存器上下文以及堆栈内容等将被释放。

线程的另一个执行特性是同步。线程中所使用的同步控制机制与进程中所使用的同步控制机制相同。

线程 -  状态变化

(1)创建线程
当创建一个新的进程时,也创建一个新的线程,进程中的线程可以在同一进程中创建新的线程中创建新的线程。

(2)终止线程
可以正常终止自己,也可能某个线程执行错误,由其它线程强行终止。终止线程操作主要负责释放线程占有的寄存器和栈。

(3)阻塞线程

当线程等待每个事件无法运行时,停止其运行。

(4)唤醒线程
当阻塞线程的事件发生时,将被阻塞的线程状态置为就绪态,将其挂到就绪队列。进程仍然具有与执行相关的状态。例如,所谓进程处于“执行”状态,实际上是指该进程中的某线程正在执行。对进程施加的与进程状态有关的操作,也对其线程起作用。例如,把某个进程挂起时,该进程中的所有线程也都被挂起,激活也是同样。

线程 - 线程分类

线程有两个基本类型

用户级线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值