golang为什么用协程而不是线程

  1. 当协程阻塞的时候,运行时会自动将统一操作系统线程上的其他协程移动到另一个可运行的线程上,这样这些协程就不会阻塞,并且这个操作对开发人员来说是透明的。
  2. 调用协程的开销很小,大概只在内存的栈区用几KB,而且通常几KB就够用了。即便不够用,运行时也会自动在栈区多分配点。
  3. 每次方法调用平均只占用3个CPU指令。

数据来源:https://golang.org/doc/faq

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