一、限定限定协程数量
func limitGoroutine() {
var limitChan = make(chan struct{}, 3)
var wg sync.WaitGroup
for i := 0; i < 10; i++ {
wg.Add(1)
limitChan <- struct{}{}
go func(num int) {
defer wg.Done()
fmt.Printf("协程数:%v \n", runtime.NumGoroutine())
<-limitChan
}(i)
}
wg.Wait()
}