草庐IT

你是否因使用姿势不当,而在 WaitGroup 栽了跟头?

​在Go中,sync包下的WaitGroup能有助于我们控制协程之间的同步。当需要等待一组协程都执行完各自任务后,才能继续后续逻辑。这种场景,就非常适合使用它。但是,在使用WaitGroup的过程中,你可能会犯错误,下文我们将通过示例逐步探讨。任务示例初始任务假设我们有以下任务woker,它执行的任务是将参数msg打印出来。funcworker(msgstring){fmt.Printf("workerdo%s\n",msg)}funcmain(){worker("task1")fmt.Println("mainexit")}执行结果如下workerdotask1mainexit更多任务如果有

你是否因使用姿势不当,而在 WaitGroup 栽了跟头?

​在Go中,sync包下的WaitGroup能有助于我们控制协程之间的同步。当需要等待一组协程都执行完各自任务后,才能继续后续逻辑。这种场景,就非常适合使用它。但是,在使用WaitGroup的过程中,你可能会犯错误,下文我们将通过示例逐步探讨。任务示例初始任务假设我们有以下任务woker,它执行的任务是将参数msg打印出来。funcworker(msgstring){fmt.Printf("workerdo%s\n",msg)}funcmain(){worker("task1")fmt.Println("mainexit")}执行结果如下workerdotask1mainexit更多任务如果有