浅谈 Golang sync 包的相关使用方法

deepzz ·
WaitGroup 的例子里面seconds未定义
#2
更多评论
跟一句 WaitGroup 的例子里面seconds未定义 这里提供一个新例子 package main import ( "fmt" "sync" ) func main() { var wg sync.WaitGroup for i:=1;i<=10;i++ { // 计数加 1 wg.Add(1) go func(i int) { // 计数减 1 defer wg.Done() fmt.Printf("goroutine%d 结束\n", i) }(i) } // 等待执行结束 wg.Wait() fmt.Println("所有 goroutine 执行结束") } 运行结果为 goroutine10 结束 goroutine5 结束 goroutine3 结束 goroutine4 结束 goroutine1 结束 goroutine8 结束 goroutine9 结束 goroutine7 结束 goroutine2 结束 goroutine6 结束 所有 goroutine 执行结束 一般每次运行结果都不会相同
#3