操作系统4线程

线程是CPU使用的基本单元,由:线程ID、程序计数器、寄存器集合和栈组成。它与属于同意进程的线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。一个传统重量级的进程只有单个线程控制

动机:网页浏览器可能有一个线程用来显示文本和图像,另一个用于从网络接受数据;文档处理器有一个线程用于显示图形,另一个线程用于读入用户的键盘输入,还有一个线程在后台进行拼写和语法检查
优点:多进程体系结构被良好的利用了,每个进程能运行在不同的CPU上

多线程模型
用户层用户线程收到内核支持,无需内核管理
和内核层内核线程由操作系统直接支持或管理

多对一模型
将许多用户级线程映射到一个内核线程。线程管理是由线程库在用户空间进行的,但是一个线程执行了阻塞系统调用,那整个进程会阻塞。任意时刻只有一个线程能访问内核,多个线程不能并行运行在多个处理器上

一对一模型
将每个用户线程映射到一个内核线程。该模型在一个线程上执行阻塞系统调用,能允许其他线程继续执行(更好的并发功能),但缺点是每创建一个用户线程就要创建一个内核线程,所以限制了系统所支持的线程数量

多对多模型
多路复用了许多用户线程到同样数量或更小数量的内核线程上。内核线程的数量可能与特定应用程序或特定及其有关(虽然一对一模型能够允许开发人员创建任意多的用户线程,但是内核只能一次跳读一个线程,所以并没有增加并发性)

线程库
为程序猿提供创建和管理线程的API。有两种实现方式:

  1. 在用户空间提供一个没有内核支持的库,此库中的所有代码和数据结构都存在于用户空间中,此库的所有代码和数据结构都在于用户空间内。调用库中的一个函数知识导致用户空间里的一个本地函数调用,而非
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值