package main
import (
"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
}
分享题目:Golang并发数的控制
链接地址:https://www.cdcxhl.com/article48/joopep.html
成都网站建设公司_创新互联,为您提供网站导航、网站设计、App设计、网站建设、静态网站、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联