package main
import (
"fmt"
"sync"
)
func worker(x int, wg *sync.WaitGroup) {
//用于函数返回之前,调用的函数,参考博客https://blog.csdn.net/u011525168/article/details/88401991
//用于完成一个子协程减1的计数器
defer wg.Done()
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}
func main() {
var wg sync.WaitGroup
//Add初始值为0,你传入的值会往计数器上加,这里直接传入你子协程的数量
wg.Add(2)
go worker(1, &wg)
go worker(2, &wg)
wg.Wait()
}
执行结果: