目前對程式、執行緒、協程的理解

xing393939發表於2021-03-23

這三個只是作業系統虛擬出來的概念,本質上只是cpu不停的執行工作流,作業系統利用cpu提供的介面切換工作流而已。

  1. 程式:不同的程式共享檔案表、但不共享使用者地址空間
  2. 執行緒:同一程式的執行緒共享使用者地址空間,但是切換執行緒需要陷於核心和切換上下文(暫存器的狀態)
  3. 協程:同一執行緒的協程不需要陷於核心,切換上下文輕量,而且寫共享資源不需要鎖

這篇文章寫的不錯。也指出了執行緒的切換是不確定的,而協程只會在遇到IO阻塞時才會切換。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章