重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

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并发数的控制
本文URL:http://cqcxhl.cn/article/joopep.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP