golang爲什麼用協程而不是線程

  1. 當協程阻塞的時候,運行時會自動將統一操作系統線程上的其他協程移動到另一個可運行的線程上,這樣這些協程就不會阻塞,並且這個操作對開發人員來說是透明的。
  2. 調用協程的開銷很小,大概只在內存的棧區用幾KB,而且通常幾KB就夠用了。即便不夠用,運行時也會自動在棧區多分配點。
  3. 每次方法調用平均只佔用3個CPU指令。

數據來源:https://golang.org/doc/faq

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章