源码之家

  • 首页
  • 文章
  • 问答
  • 下载
您的位置: 首页  >  文章  >  Golang并发数的控制

Golang并发数的控制

分类: 文章 • 2022-03-13 08:54:28

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
}

相关推荐

  • 解读DTCC | 由 数据库的并发控制技术 谈起
  • Oracle-11g中的并发控制(2012/11/16)
  • Linux设备驱动中的并发控制之五(自旋锁)
  • Node.js与Golang使用感受与小结【三】--JS异步流程控制(序列模式、并发模式、有限......
  • linux驱动程序中的并发控制
  • 提交订单性能优化系列之005-单线程改为多线程,测试并发线程数与性能之间的关系
  • 数据库并发控制机制的理解
  • 会签的并发控制
  • 腾讯云李海翔:数据库的并发控制技术深度探索
  • 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...
  • 'SQLSTATE [HY093],我把逗号的位置写错了吗?
  • PHP - SQL - 更新数据的按钮点击
    网站免责声明 网站地图 最新文章 用户隐私 版权申明
本站所有数据收集于网络,如果侵犯到您的权益,请联系网站进行下架处理。   

Copyright © 2018-2021   Powered By 源码之家    备案号:   粤ICP备20058927号