CPU 的上下文切换实现教程 CPU上下文
admin2023-04-23【电脑应用】浏览:236
电脑多任务系统往往需要同时执行多道作业。作业数往往大于机器的CPU数,然而一颗CPU同时只能执行一项任务,为了让用户感觉这些任务正在同时进行,操作系统的设计者巧妙地利用了时间片轮转的方式,CPU给每个任务都服务一定的时间,然后把当前任务的状态保存下来,在加载下一任务的状态后,继续服务下一任务。任务的状态保存及再加载,这段过程就叫做上下文切换。时间片轮转的方式使多个任务在同一颗CPU上执行变成了可能,但同时也带来了保存现场和加载现场的直接消耗。
(Note.更精确地说,上下文切换会带来直接和间接两种因素影响程序性能的消耗.直接消耗包括:CPU寄存器需要保存和加载,系统调度器的代码需要执行,TLB实例需要重新加载,CPU的pipeline需要刷掉;间接消耗指的是多核的cache之间得共享数据,间接消耗对于程序的影响要看线程工作区操作数据的大小).

干活的其实是CPU,而不是线程
再想想原来学过的知识,之前一直以为线程多干活就快,简直是把学过的计算机原理都还给老师了。真正干活的不是线程,而是CPU。线程越多,干活不一定越快。
那么高并发的情况下什么时候适合单线程,什么时候适合多线程呢?
适合单线程的场景:单个线程的工作逻辑简单,而且速度非常快,比如从内存中读取某个值,或者从Hash表根据key获得某个value。Redis和Node.js这类程序都是单线程,适合单个线程简单快速的场景。
适合多线程的场景:单个线程的工作逻辑复杂,等待时间较长或者需要消耗大量系统运算资源,比如需要从多个远程服务获得数据并计算,或者图像处理。
CPU 的上下文切换实现教程的下载地址:本地下载
相关文章
- edge浏览器能否安装第三方插件 edge浏览器安装第三方插件提示清单文件丢失或不可读取
- 优化手机内存:四步清理缓存垃圾,别随意删除
- win10怎么使用一键ghost
- word项目符号空格太大怎么调小 word的空格有大有小 怎么调整
- excel2019怎么排序 新版excel怎么排序
- 解决Steam商店加载问题及错误代码-118的方法
- word如何设置每页多少行 word设置每行多少字方法介绍 word怎么设置一行多少字一页多少行
- winrar弹窗怎么解决 关闭winrar5.5的弹窗
- 掌握Oppo云服务,轻松管理你的数字生活
- Helio P35对决骁龙神级处理器:天梯图助你秒懂联发科P35性能
- 携程如何删除订单记录 携程删除订单记录退机票

热评文章
企业微信分屏老师能看到吗 企业微信切屏老师能看见吗
excel如何批量输入求和公式 excel批量输入求
罗技驱动win7能用吗 罗技鼠标支持win7系统吗
打印机驱动卸载干净教程 打印机驱动怎样卸载干净
显卡驱动更新小技巧,让你的电脑运行更稳定
手机系统声音不起眼,但很重要 手机系统声音有的,但