Go之路(三十二):Sync.WaitGroup
Sync.WaitGroup
可以用于控制一组goroutine
例如:
package main
import(
"time"
"fmt"
"sync"
)
func main() {
wg := sync.WaitGroup{}
for i:=0;i<10;i++{
wg.Add(1)
go func(){
time.Sleep(time.Second)
fmt.Println(i)
wg.Done()
}()
}
wg.Wait()
}
wg.Wait()只有在技术器等于0才会返回\
而每个goroutine在开始之前+1,结束后清零,就达到了控制goroutine结束的效果.

浙公网安备 33010602011771号