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

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

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

猜你喜欢

转载自blog.csdn.net/xmh19936688/article/details/106267914
今日推荐