上下文切換是在做什麼事情?

本質上來說無論是用戶態還是內核態的上下文切換都是很輕量的,甚至有一些硬件指令來支持,比如pusha可以幫助我們保存通用寄存器。同一個進程的線程共享頁表,因此上下文切換的開銷一般只有:   保存各種寄存器 切換sp(call指令會自動將pc壓棧)   可以在數十條指令內完成。 既然近內核以及上下文切換都不慢,那麼多線程的開銷究竟在哪? 我們不妨看一個阻塞的系統調用futex的熱點分佈: 參考:htt
相關文章
相關標籤/搜索