保存成功
订阅成功
保存失败,请重试
提交成功

操作系统基础: C 语言实现用户态线程(实战)

¥10会员免费看
Allen()
5
严选 Chat了解严选标准

一直以来,我们学习线程切换与调度,都是通过阅读操作系统书籍或 Linux 源码甚至反汇编 Window 内核代码。无论怎样,这些东西都很抽象,学习起来十分困难。另外,随着现代化编程语言逐渐流行,C++20 的正式发布,都离不开用户态线程这些基础知识。再比如 Golang 的 Goroutine,腾讯公司的开源的 libco,百度的 BRPC 中的 bthread,如果想深刻理解它们,都需要扎实的基本功。

本文会带你循序渐近的掌握下面的知识点:

  • 控制流切换原理
  • 上下文切换
  • 线程设计
  • 调度函数的封装与代码模块化
  • 线程的主动切换
  • 时间片轮转调度
1418 人已订阅
会员免费看
¥10 原价订阅
查看文章评论/提问
schwarzeni5 天前
不错,赞一个👍
赵博文2 个月前
eip保存的是下一条指令的地址还是下一条指令的内容哈
小树3 个月前
干货,太精彩了,主动调度和被动切换原理都讲得非常清楚
相逢是缘5 个月前
有个疑惑:do_timer到来时,在切换栈时调用switch的时候会保存上下文,这时的上下文是谁的上下文呢?这时current的值是多少呢?
小树3 个月前
上下文是当前线程上下文,current是当前线程id,也就是task中对应当前线程信息的下标
王超超6 个月前
受益匪浅,赞赞赞
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效
严选标准
知道了
Chat 状态详情
开始预订
预订结果公布19.03.16

预订达标,作者开始写作

审核未达标,本场 Chat 终止

作者文章审核结果公布19.03.26

审核达标,文章发布

审核未达标,本场 Chat 终止

Chat 完结
×
已购列表