協程的實現原理

用戶空間切換 linux 的系統調用提供了在用戶空間進行上下文切換的能力。go 語言中用戶空間的上下文切換用的是彙編實現,懷疑多是爲了跨平臺及提升效率而爲之。後面用 linux 提供的系統調用來實現一個簡單的用戶空間上下文切換,反彙編它,看與 go 語言的彙編實現有什麼異同。下面首先來看想關的四個系統調用。畢竟是系統調用,會帶來用戶態和內核態之間的切換開銷,這可能也是 go 用匯編實現的緣由之一。
相關文章
相關標籤/搜索