【发布时间】:2017-06-20 15:21:47
【问题描述】:
package main
import (
"sync"
"time"
)
func main() {
var wg sync.WaitGroup
wg.Add(1)
go func() { //A
wg.Wait()
println("wait exit")
}()
go func() {
time.Sleep(time.Second)
wg.Done()
}()
wg.Wait()
println("main exit")
}
结果:
wait exit
main exit
为什么main goroutine不先执行println("main exit"),而main thread dead然后丢弃一个goroutine? 它像结果显示的那样继续打印
【问题讨论】:
标签: go concurrency goroutine