golang 主线程等待子线程结束后再退出

为了等待子线程结束后,主线程才能退出,实现方案一,如下:

package main
 import (
   "fmt"
  "sync"
 )
 func main() {
  var wg sync.WaitGroup
  wg.Add(2) // 因为有两个动作,所以增加2个计数
  go func() {
    fmt.Println("Goroutine 1")
    wg.Done() // 操作完成,减少一个计数
  }()
  go func() {
    fmt.Println("Goroutine 2")
    wg.Done() // 操作完成,减少一个计数
  }()
  wg.Wait() // 等待,直到计数为0
}

  

posted @ 2022-11-16 15:15  ytwqg  阅读(474)  评论(0)    收藏  举报