2

这个问题我们知道,线程和进程在内核中都被视为相同的调度单元,并且在调度方案上几乎没有区别。但是,我很好奇在线程和进程之间切换的一般成本。

例如,在2个不同进程之间切换时,内核需要更改PTBR(在x86中是CR3寄存器)来切换进程页表,导致TLB被重新刷新。但是在同一进程的不同线程之间切换似乎没有这种额外的成本,因为这些线程应该共享相同的虚拟地址空间。

4

0 回答 0