sync.WaitGroup疑惑,新手求助

294081978發表於2017-06-07
package main

import(
    "sync"
    "fmt"
)

func main() {
    var w sync.WaitGroup
    var cnt = 0
    for i := 0; i != 100; i++{
        w.Add(1)
        go func(i int){
            defer w.Done()
            cnt++
        }(i)
    }
    w.Wait()
    fmt.Println(cnt)
}

上面程式碼,多執行幾次,輸出的情況不一定是 100,請問下這是啥情況?

更多原創文章乾貨分享,請關注公眾號
  • sync.WaitGroup疑惑,新手求助
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章