一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 7134|回复: 1
打印 上一主题 下一主题

操作系统知识中关于线程的理解

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-5-15 06:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

线程

线程又叫迷你进程。线程比进程更轻,更容易创建。切换更容易。若存在大量的密集计算和IO操作。拥有多个线程允许这些活动重叠进行。

例子。当我们用文字处理软件处理文字的时候,会有多线程。一个和用户的gui界面交互。一个是处理文件的自动备份。如果是单线程的话。当备份的时候,键盘的操作就会被忽略。对用户不友好。

线程模型

进程拥有一个执行的线程,在该线程中有一个程序计数器,寄存器,以及堆栈记录历史纪录。进程用于把资源合在一起,线程则是CPU调度的基本单元。

左边的是进程中的内容,也就是所有线程都共享的,右边的数据是单个线程中的内容,和其他线程不共享

当一个线程完成工作后,通过(thread_exit) 退出

另外一个常见的线程调用时(thread_yield) 它允许线程自动放弃CPU而让另一个线程运行

POSIX 线程

为了实现可移植的程序。IEEE制定了线程的标准。

在用户空间实现线程。把整个线程放在用户空间。内核一无所知。

用户级线程,可以用用户实现自己的调度算法。

内核中实现线程。采用系统调用。内核中存放线程表.在内核中创建和撤销线程,代价是非常高的。所以采用让这个线程不可运行的标识。

混合实现

内核识别内核线程,进行调度。一些内核线程对多个用户线程复用。

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

18

帖子

56

积分

注册会员

Rank: 2

积分
56
沙发
发表于 2022-10-8 05:58 | 只看该作者
免费的源码分享网站
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表