进程和线程上下文切换的区别


提一嘴上下文切换 ,上下文切换是一个过程 ,从任务保存到再加载的过程就是一次上下文切换

线程和进程上下文切换的区别

进程切换需要分两步

1.切换页目录以使用新的地址空间
2.切换内核栈和硬件上下文

对于linux来说,线程和进程的最大区别就在于地址空间。
对于线程切换,第一步是不需要做的,第二步是进程和线程切换都要做的,所以进程对此比线程切换代价大。

调度

进程调度,切换进程上下文,包括分配的内存,数据段,堆栈段等
线程调度,切换线程上下文,主要切换堆栈,以及各寄存器(同个进程里的线程 堆栈不同)

协程,(轻量级线程) 每个协程都自带一个栈,协程就是一个函数和这个函数运行时数据的栈


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM