Golang并发数的控制
package mainimport ( "fmt" "sync" "time")func main() { wg := &sync.WaitGroup{} limiter := make(chan bool, 10) for i := 0; i < 100; i++ { wg.Add(1) limiter <- true go download(i, limiter, wg) } wg.Wait()}func download(index int, limiter chan bool, wg *sync.WaitGroup) { defer wg.Done() fmt.Println("start to download :", index) time.Sleep(1 * time.Second) <-limiter}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。