linux - 线程之间的切换是否比 Linux 中的进程更有效?
问题描述
从这个问题我们知道,线程和进程在内核中都被视为相同的调度单元,并且在调度方案上几乎没有区别。但是,我很好奇在线程和进程之间切换的一般成本。
例如,在2个不同进程之间切换时,内核需要更改PTBR(在x86中是CR3寄存器)来切换进程页表,导致TLB被重新刷新。但是在同一进程的不同线程之间切换似乎没有这种额外的成本,因为这些线程应该共享相同的虚拟地址空间。
解决方案
推荐阅读
- jquery - 如何在 AJAX 响应中读取自定义标头值
- angular - 如何使用 ngx-translate 翻译 alertController 和 mat-snackbar 消息?
- python-3.x - 基于特定列值的所有行的总和
- python - Google API 流程每次都需要同意刷新令牌
- ios - iOS 13 在 Widget 上禁用暗模式
- angular - Angular Ivy 类型检查:类型“SafeHtml”不可分配给类型“字符串”
- amazon-web-services - 在 cloud9 账单上节省一些钱 - AWS
- html - 在 iframe 中隐藏滚动条,同时仍在滚动
- google-bigquery - 如何在 bigquery 中从 TableResult 中获取键值对
- angular - 如果我在 HTML 中包含一个组件并通过 DI 注入它,为什么会出现 StaticInjector 错误