欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > 电脑专区 > 电脑教程 > CPU 的上下文切换实现教程

CPU 的上下文切换实现教程

时间:2020-08-07 00:25作者:admin来源:未知人气:287我要评论(0)

电脑多任务系统往往需要同时执行多道作业。作业数往往大于机器的CPU数,然而一颗CPU同时只能执行一项任务,为了让用户感觉这些任务正在同时进行,操作系统的设计者巧妙地利用了时间片轮转的方式,CPU给每个任务都服务一定的时间,然后把当前任务的状态保存下来,在加载下一任务的状态后,继续服务下一任务。任务的状态保存及再加载,这段过程就叫做上下文切换。时间片轮转的方式使多个任务在同一颗CPU上执行变成了可能,但同时也带来了保存现场和加载现场的直接消耗。

(Note.更精确地说,上下文切换会带来直接和间接两种因素影响程序性能的消耗.直接消耗包括:CPU寄存器需要保存和加载,系统调度器的代码需要执行,TLB实例需要重新加载,CPU的pipeline需要刷掉;间接消耗指的是多核的cache之间得共享数据,间接消耗对于程序的影响要看线程工作区操作数据的大小).

干活的其实是CPU,而不是线程

干活的其实是CPU,而不是线程

再想想原来学过的知识,之前一直以为线程多干活就快,简直是把学过的计算机原理都还给老师了。真正干活的不是线程,而是CPU。线程越多,干活不一定越快。

那么高并发的情况下什么时候适合单线程,什么时候适合多线程呢?

适合单线程的场景:单个线程的工作逻辑简单,而且速度非常快,比如从内存中读取某个值,或者从Hash表根据key获得某个value。Redis和Node.js这类程序都是单线程,适合单个线程简单快速的场景。

适合多线程的场景:单个线程的工作逻辑复杂,等待时间较长或者需要消耗大量系统运算资源,比如需要从多个远程服务获得数据并计算,或者图像处理。

CPU 的上下文切换实现教程的下载地址:
  • 本地下载

  • 相关阅读 ​万彩动画大师怎么添加一个场景的进场特效​剪映怎么提速视频声音不变调​剪映怎么压缩视频大小​剪映如何设置视频的区域范围​mindmaster如何使用分支箭头样式功能​mindmaster如何给主题添加优先级图标​mindmaster怎么在两个框框之间添加一个框框​美图秀秀怎么把照片变成黑白​美图秀秀镜面翻转怎么弄​美图秀秀如何消除红眼

    文章评论
    发表评论

    热门文章 电脑上圈11怎么打_⑪_圈11如何输入?A4纸与16K纸的区别如何利用“工信部12300”微信公众号投诉移动、联通、电信的方法海康摄像头忘记密码,自己如何快速重置密码

    最新文章 ​万彩动画大师怎么添加一个场景的进场特效​剪映怎么提速视频声音不变调 ​剪映怎么压缩视频大小​剪映如何设置视频的区域范围​mindmaster如何使用分支箭头样式功能​mindmaster如何给主题添加优先级图标

    人气排行 电脑上圈11怎么打_⑪_圈11如何输入?A4纸与16K纸的区别如何利用“工信部12300”微信公众号投诉移动、联通、电信的方法海康摄像头忘记密码,自己如何快速重置密码海康威视网络摄像头接网线的线序与接法Secure Boot安全启动开启关闭方法手动设置IP地址和DNS的方法小米手机 如何安装谷歌服务框架,最简单的方法

    盖楼回复X

    (您的评论需要经过审核才能显示)