sync.WaitGroup中要求Wait的时候不能Add,这样做的原因是什么呢?

kiwi-yan · 2017-09-27 03:09:34 · 1524 次点击

比如有两个goroutine,第一个里面有wg.Wait(),第二个里面有wg.Add(1),Add()比Wait()晚一些运行 就会报错 截图.png

#2
更多评论

哪里写了不能add? 一般场景不应该是wait的时候add吗?当所有gorouitne执行完才结束?

#1

不好意思,恢复没有对准,你看看我在2L贴的图,是waitgroup里面的源码

#3