NOTE
2.2 sync.WaitGroup
1. 是什么 一种控制并发的方式 让一个goroutine等待其他goroutine完成 类似于9.CountDownLatch.md 2. 使用 3. 原理 - 里面维护了一个counter计数器 - Add 增加计数器 - Done 计数器-1 - Wait 等待计数器到达0时往下执行 4. 参
这是历史学习笔记,可能存在过时或不完整的理解。
1. 是什么
一种控制并发的方式 让一个goroutine等待其他goroutine完成 类似于9.CountDownLatch.md
2. 使用
func main() {
var wg sync.WaitGroup
wg.Add(2)
go func() {
time.Sleep(2*time.Second)
fmt.Println("1号完成")
wg.Done()
}()
go func() {
time.Sleep(2*time.Second)
fmt.Println("2号完成")
wg.Done()
}()
wg.Wait()
fmt.Println("好了,大家都干完了,放工")
}
3. 原理
- 里面维护了一个counter计数器
Add增加计数器Done计数器-1Wait等待计数器到达0时往下执行