Add(delta int) :添加任务数
Wait():阻塞等待所有任务的完成
Done():完成任务
import (
"fmt"
"sync"
"time"
)
func worker(wg *sync.WaitGroup) {
doSomething()
wg.Done() // 2.1、完成任务
}
func main() {
var wg sync.WaitGroup
wg.Add(5) // 1、添加 5 个任务
for i := 1; i <= 5; i++ {
go worker(&wg) // 2、每个任务并发执行
}
wg.Wait() // 3、阻塞等待所有任务完成
}