gpt4 book ai didi

multithreading - 线程上下文切换 Vs.进程上下文切换

转载 作者:行者123 更新时间:2023-12-03 04:39:50 26 4
gpt4 key购买 nike

谁能告诉我在这两种情况下到底做了什么?它们各自的主要成本是多少?

最佳答案

线程切换和进程切换的主要区别在于,线程切换期间,虚拟内存空间保持不变,而进程切换期间则不然。两种类型都涉及将控制权移交给操作系统内核以执行上下文切换。切换进出操作系统内核的过程以及切换寄存器的成本是执行上下文切换的最大固定成本。

更模糊的成本是上下文切换会扰乱处理器的缓存机制。基本上,当上下文切换时,处理器在其缓存中“记住”的所有内存地址实际上都变得无用。这里的一个很大的区别是,当您更改虚拟内存空间时,处理器的转换后备缓冲区 (TLB) 或等效内容会被刷新,从而使内存访问在一段时间内变得更加昂贵。在线程切换期间不会发生这种情况。

关于multithreading - 线程上下文切换 Vs.进程上下文切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5440128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com