Golang并发数的控制

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并发数的控制
网站路径:http://hxwzsj.com/article/joopep.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 高端定制网站设计 成都网站建设推广 成都网站制作 宜宾网站设计 成都网站设计 阿坝网站设计 专业网站设计 网站制作报价 定制网站设计 温江网站设计 品牌网站建设 重庆企业网站建设 手机网站建设 移动网站建设 企业网站设计 成都品牌网站设计 成都企业网站建设 泸州网站建设 品牌网站建设 成都网站制作 成都网站建设流程 重庆网站建设