一直以来,我们学习线程切换与调度,都是通过阅读操作系统书籍或 Linux 源码甚至反汇编 Window 内核代码。无论怎样,这些东西都很抽象,学习起来十分困难。另外,随着现代化编程语言逐渐流行,C++20 的正式发布,都离不开用户态线程这些基础知识。再比如 Golang 的 Goroutine,腾讯公司的开源的 libco,百度的 BRPC 中的 bhtread,如果想深刻理解它们,都需要扎实的基本功。
本文会带你循序渐近的掌握下面的知识点:
- 控制流切换原理
- 上下文切换
- 线程设计
- 调度函数的封装与代码模块化
- 线程的主动切换
- 时间片轮转调度
阅读全文: http://gitbook.cn/gitchat/activity/5c83b0e7066b712da9b0595f
一场场看太麻烦?成为 GitChat 会员,畅享 1000+ 场 Chat !点击查看