上下文切换是在做什么事情?

本质上来说无论是用户态还是内核态的上下文切换都是很轻量的,甚至有一些硬件指令来支持,比如pusha可以帮助我们保存通用寄存器。同一个进程的线程共享页表,因此上下文切换的开销一般只有:   保存各种寄存器 切换sp(call指令会自动将pc压栈)   可以在数十条指令内完成。 既然近内核以及上下文切换都不慢,那么多线程的开销究竟在哪? 我们不妨看一个阻塞的系统调用futex的热点分布: 参考:htt
相关文章
相关标签/搜索