首页 > 技术文章 > waitgroup等待退出

hualou 2019-12-19 20:59 原文

等待一组协程结束,用sync.WaitGroup操作
package main

import (
   "fmt"
   "sync"
   "time"
)

func main() {
   wg := sync.WaitGroup{}
   for i := 0; i < 10; i++ {
      wg.Add(1)
      go calc(&wg, i)
   }
   wg.Wait()
   fmt.Println("all goroutine finish")
}

func calc(w *sync.WaitGroup, i int) {
   fmt.Println("calc", i)
   time.Sleep(time.Second)
   w.Done()
}


来自为知笔记(Wiz)


推荐阅读