学校排行榜

(0)

投一票

Go语言使用WaitGroup的完整示例 官网

以下是完整使用WaitGroup的示例。创建WaitGroup实例后,为每个goroutine调用Add方法增加计数,在goroutine结束时调用Done方法减少计数,最后用Wait方法等待所有goroutine结束。 package mainimport ( "fmt" "sync")func worker(id int, wg *sync.WaitGroup) { defer wg.Done() // goroutine结束时减少计数 fmt.Printf("Worker %d 开始工作\n", id) // 运行结果:Worker 1 开始工作等 fmt.Printf("Worker %d 工作完成\n", id) // 运行结果:Worker 1 工作完成等}func main() { var wg sync.WaitGroup numWorkers := 3 wg.Add(numWorkers) // 设置等待3个goroutine for i := 1; i 要注意传递WaitGroup指针给goroutine,不然计数不会更新。
专业
评论
新闻
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。