美文网首页
go 中的 sync.WaitGroup

go 中的 sync.WaitGroup

作者: wayyyy | 来源:发表于2022-05-21 23:47 被阅读0次
sync.WaitGroup

在 Go 语言中,sync.WaitGroup用于最终完成的场景,关键点在于一定要等待所有协程都执行完毕,示例如下:

func main() {
    waitGroup := &sync.WaitGroup{}

    for i := 0; i < 10; i++ {
        waitGroup.Add(1)
        go func(waitGroup *sync.WaitGroup) {
            defer waitGroup.Done()
            fmt.Print("1-")  
        }(waitGroup)
    }

    waitGroup.Wait() // 这里会阻塞main 直到所有的任务都完成
    
    fmt.Println("end")
}

相关文章

网友评论

      本文标题:go 中的 sync.WaitGroup

      本文链接:https://www.haomeiwen.com/subject/khghprtx.html