问一个线程和进程的问题

2022-10-09 11:43:56 +08:00
 kingofzihua

一般来说线程切换比进程切换代价更小,是因为进程切换需要转换内存地址空间,需要刷新 TLB/cache ,线程切换没有这个动作。

那么操作系统调度的时候会不会尽量调度同一进程内的线程?

1181 次点击
所在节点    操作系统
6 条回复
sujin190
2022-10-09 13:39:30 +08:00
有没有可能进程并没有切换一说,操作系统调度的都是线程,进程只是用来定义地址空间和关联管理系统资源的
hangbale
2022-10-09 13:52:14 +08:00

另外需要区分内核级线程和用户级线程
kingofzihua
2022-10-09 14:05:27 +08:00
@sujin190 会有的,进程内单线程处理
sujin190
2022-10-09 14:13:04 +08:00
@kingofzihua #3 不是一回事吧,就算是一个线程,内核调度器处理的也是线程,进程就是静态的和运行状态没啥关系吧,顶多优化下相同进程线程间切换不触发 TLB/cache 重置就是了,但是自身并不能影响调度吧
guanyinli
2022-10-09 20:14:17 +08:00
read the fucking code 就知道啦
kingofzihua
2022-10-11 11:47:09 +08:00
果然,操作系统分类不是那么活跃

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/885480

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX