学编程 ❀(๑╯◡╰๑)❀ 就上soxunxi.cn!这里有CMS,CSS,NET,PHP,Linux,HTML,JAVA,MySQL,Python等教程.
当前位置: Linux > linux环境下,哪些操纵有大概引发线程切换【Linux】,linux

linux采纳一对一的线程模子,用户线程切换与内核线程切换之间的差异异常小。同时,假如疏忽用户主动摒弃用户线程的实行权(yield)带来的开支,则只须要斟酌内核线程切换的开支。 (引荐进修:linux教程)

注重,这里仅仅是为了协助明白做出的简化。实际上,用户线程库在用户线程的调理、同步等过程当中做了许多事情,这部分开支不能疏忽。

如JVM对Thread#yield()的诠释:假如底层OS不支持yield的语义,则JVM让用户线程自旋至时候片完毕,线程被动切换,以到达类似的结果。

什么引发线程切换

时候片轮转

线程壅塞

线程主动摒弃时候片

直接开支

直接开支是线程切换自身引发的,无可避免,必定发作。

用户态与内核态的切换

线程切换只能在内核态完成,假如当前用户处于用户态,则必定引发用户态与内核态的切换。(<font color="red">“用户态与内核态的切换”细致带来什么本钱???</font>)

上下文切换

前面说线程(或许叫做历程都随便)信息须要用一个task_struct保留,线程切换时,必定须要将旧线程的task_struct从内核切出,将新线程的切入,带来上下文切换。除此之外,还须要切换寄存器、顺序计数器、线程栈(包含操纵栈、数据栈)等。

线程调理算法

线程调理算法须要治理线程的状况、守候前提等,假如依据优先级调理,则还须要保护优先级行列。假如线程切换比较频仍,该本钱不容小觑。

间接开支

间接开支是直接开支的副作用,取决于体系完成和用户代码完成。

缓存缺失

切换历程,须要实行新逻辑。假如两者的接见的地点空间不邻近,则会引发缓存缺失,细致影响局限取决于体系完成和用户代码完成。假如体系的缓存较大,则能减小缓存缺失的影响;假如用户线程接见数据的地点空间靠近,则自身的缓存缺失率也比较低。

以上就是linux环境下,哪些操纵有大概引发线程切换的细致内容,更多请关注ki4网别的相干文章!

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:
赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"linux环境下,哪些操纵有大概引发线程切换【Linux】,linux"

最新评论

    暂无留言哦~~

博客简介

看古风美女插画Cos小姐姐,素材合集图集打包下载:炫龙网,好看二次元插画应有尽有,唯美小姐姐等你来。

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

服务热线:
 

 QQ在线交流

 旺旺在线