```
func TestConcurrent(t *testing.T) {
wg := sync.WaitGroup{}
wg.Add(20)
for count := 20; count >= 0; count-- {
go func(count int) {
fmt.Println(count)
defer wg.Done()
}(count)
}
wg.Wait()
}
```
// 会抛出wg 至负数的异常
下面这种通过限制 processor 数量都可以规避。
为什么???
```
func TestConcurrent(t *testing.T) {
runtime.GOMAXPROCS(1)
wg := sync.WaitGroup{}
wg.Add(20)
for count := 20; count >= 0; count-- {
go func(count int) {
fmt.Println(count)
defer wg.Done()
}(count)
}
wg.Wait()
}
```
有疑问加站长微信联系(非本文作者)