前言
Go语言通过sync.WaitGroup
实现协程之间的同步
正文
defer waitGroup.Done()
完全等同于defer waitGroup.Add(-1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| package main
import "sync"
var waitGroup sync.WaitGroup
func task() { defer waitGroup.Done() ... }
func main() { for i := 0; i < 3; i++ { go task() waitGroup.Add(1) } waitGroup.Wait() }
|
完成
参考文献
哔哩哔哩——郭宏志-老郭