shitaibin.github.io icon indicating copy to clipboard operation
shitaibin.github.io copied to clipboard

Golang的sync.WaitGroup陷阱 | 大彬 LIB

Open Shitaibin opened this issue 5 years ago • 0 comments

http://lessisbetter.site/2018/10/29/Golang-trap-of-waitgroup/

sync.WaitGroup是并发环境中,一个相当常用的数据结构,用来等待所有协程的结束,在写代码的时候都是按着例子的样子写的,也没用深究过它的使用。前几日想着能不能在协程中执行Add()函数,答案是不能,这里介绍下。 陷阱在WaitGroup的3个函数的调用顺序上。先回顾下3个函数的功能: Add(delta int):给计数器增加delta,比如启动1个协程就增加1。 Done():协程退出

Shitaibin avatar Jul 12 '19 00:07 Shitaibin