这段代码不会输出爬到了1
![2019-01-12 21-03-32屏幕截图.png](https://static.studygolang.com/190112/273380ef95a2ff14579fb1c1a64ee8e1.png)
这段代码会输出爬到了1,
![2019-01-12 21-05-03屏幕截图.png](https://static.studygolang.com/190112/85385f05c2e30299ba38b8bf136a2603.png)
各位老哥,帮忙分析一下这里面协程的调度情况
从结果看,第一段代码中其他协程饿死了,得不到调度。
简单点修改,不要让主协程一直占用CPU,可以在 for{}中加入 sleep。
```
for {
time.Sleep(time.Second)
}
```
更好的方式是使用 `sync.WaitGroup`
如果想要寻根问底,那就需要看看 go 调度原理了。
#5
更多评论
每次循环加上time.Sleep(time.Duration(2)*time.Second),让main等待协程启动,不然协程还没启动主函数就执行完了,就启动不了了
#1