Go 初体验 - 并发与锁.2 - sync.WaitGroup

时间:2023-12-26 14:25:43

sync包里的WaitGroup主要用于协程同步

计数主协程创建的子线程 WaitGoup.Add(i)

调用清除标记方法WaitGroup.Done()

使用WaitGroup.Wait()来阻塞,直到所有子线程(标记=0)执行完毕

看代码:

Go 初体验 - 并发与锁.2 - sync.WaitGroup

代码都有注释,不难理解。

看到这里有C#语言基础的童鞋是不是觉得有点像 Task.WaitAll(),没错,思想都是一样的。