首页 > 编程语言 > 详细

为什么协程切换的代价比线程低

时间:2020-03-16 16:14:33      阅读:101      评论:0      收藏:0      [点我收藏+]

主要在于 线程切换需要借助内核完成,意味着 用户态 --> 内核态 --> 用户态,
而协程切换 只在用户态就可以完成, 用户态 --> 用户态

用户态和内核态的切换 是一部分的开销

切换频率,线程切换频率比协程切换的频率高很多, 因为协程库大多都在 IO 阻塞才切换

还有

协程是串行的,线程是并行的,协程是自主让渡执行时间,而且都跑在一个核心上,不需要复杂的调度算法,不需要优先级管理,而线程,其自身不让渡核心时间,还有优先级。 操作系统需要像指挥交通那样指挥,所以耗时。

为什么协程切换的代价比线程低

原文:https://www.cnblogs.com/nineberg/p/12504434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!