Go语言爱好者周刊:第 77 期

polaris · · 8307 次点击
当一个 M 执行阻塞的系统调用时,会将 M 和 P 解绑,并创建出一个新的 M 来执行 P 上的其它 G 应该不是你说的那样的, 看源码get里没有创建新的G, IO调用应该算系统调用吧 如果算上G零,也只有两个, 处理监控和GC的是线程,也没有创建G, 不知是哪里出来的, 有大侠知道不,出来讲一下呢
#4
更多评论
goroutine个数为何是三个呢? 能细讲一下不,程序进入只有一个主goroutine, 另外两个是从哪里来的呢?
#1
我的理解是IO操作都会启动一个协程处理的, 有些是同步的 有些是异步的, 所以题目中Get, ReadAll都属于IO操作, 所以多了2个协程. 没看代码, 根据经验瞎猜的.
#2