go并发之WaitGroup

//**
//WaitGroup的使用
//
//*/
func main() {
	var wg  sync.WaitGroup
	wg.Add(1) //表示一个goroutine正在开始
	go func() {
		defer wg.Done() //确保在退出闭包的时候,向WaitGroup表明已经退出,defer一般释放资源
		fmt.Println("第一个协程....")
		time.Sleep(1)
	}()
	wg.Add(1)
	go func() {
		defer wg.Done()
		fmt.Println("第二个协程....")
	}()
	wg.Wait() //调用wait,告诉main goroutine,直到所有的子goroutine完成再退出。
	fmt.Println("All goroutines complete")
}
posted @ 2021-01-22 10:17  公众号python学习开发  阅读(76)  评论(0编辑  收藏  举报