```go
func main() {
runtime.GOMAXPROCS(1)
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
fmt.Println("a")
}()
go func() {
defer wg.Done()
fmt.Println("b")
}()
wg.Wait()
}
```
为什么总是先打印b后打印a, groutine首次执行有顺序吗?