2019独角兽企业重金招聘Python工程师标准>>>

通过golang编写一个go脚本,用户从数据库中读取数据并向系统API接口发起请求.

通过创建一个buffer为100的channel使得请求的API接口并发数维持在100.

获取数据后直接进入循环,然后检查channel中的数据量,如果channel的数据量小于100,则增加发起请求;否则等待3秒再继续进行循环

    for i:=0; i<c; i=i+500{newsql := deletecontentlistsql + " limit " + strconv.Itoa(i) + ", 500"result_list, err := db.Query(newsql)if err != nil {panic(err)return}for {chl := len(ch)if chl < 100 {isget := result_list.Next()if isget == false {break}var dl dellistresult_list.Scan(&dl.Id, &dl.Cpid)go DeleteCore(o, dl.Id, dl.Cpid, ch)}else{time.Sleep( 3 * time.Second)}}}

转载于:https://my.oschina.net/tevisky/blog/3006356

基于channel的goroutine相关推荐

  1. sybase jz0c0 连接已关闭_Go 基于 channel 实现连接池

    golang的channel除了goroutine通信之外还有很多其他的功能,本文将实现一种基于channel的通用连接池. 何为通用? 连接池的实现不依赖具体的实例,而依赖某个接口,本文的连接池选用 ...

  2. go通过channel获取goroutine的处理结果

    一.前言 前几天写了篇文章,是通过sync.Map获取goroutine的返回结果然后做出处理,但是一直感觉方案一般,不是很好.毕竟channel才是钦定的太子,所以还是用channel好一些. go ...

  3. Go知识点:slice、map、func、struct、method、interface、channel、goroutine

    slice 动态索引数组,使用make生效 map 关联数组,使用make生效 struct 相当于类的概念  可以引用其他的接口体,是属性的一个集合 method 继承是直接把接口体写在结构体中即可 ...

  4. 通过channel进行goroutine间的通信

    如下代码: package mainimport ("fmt""sync" )var wg sync.WaitGroupfunc consumer(queue ...

  5. Go基础--goroutine和channel

    goroutine 在go语言中,每一个并发的执行单元叫做一个goroutine 这里说到并发,所以先解释一下并发和并行的概念: 并发:逻辑上具备同时处理多个任务的能力 并行:物理上在同一时刻执行多个 ...

  6. goroutine和channel机制与C#类库功能类比

    版权声明: 本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处.如您有任何疑问或者授权方面的协商,请给我留言. 为 ...

  7. go语言之行--golang核武器goroutine调度原理、channel详解

    一.goroutine简介 goroutine是go语言中最为NB的设计,也是其魅力所在,goroutine的本质是协程,是实现并行计算的核心.goroutine使用方式非常的简单,只需使用go关键字 ...

  8. TODO:Go语言goroutine和channel使用

    2019独角兽企业重金招聘Python工程师标准>>> TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语言运行时(r ...

  9. goroutine, channel 和 CSP

    2019独角兽企业重金招聘Python工程师标准>>> 引子 老听 clojure 社区的人提起 core.async ,说它如何好用,如何简化了并发编程的模型,不由得勾起了我的好奇 ...

最新文章

  1. es6学习笔记8--Map数据结构
  2. 剑指offer:数组中重复的数字
  3. 【转】为什么要写技术博
  4. mysql 5.6 root密码_MySQL 5.6 root 初始密码
  5. oracle监听启动命令6,[转] oracle 监听
  6. Java基础学习总结(59)——30 个java编程技巧
  7. 用工具激活visio2013
  8. zabbix 代理报错
  9. [转]请不要和陌生女人说话
  10. 【智能优化算法】基于粒子群求解光伏电池MPPT工程数学模型附matlab代码
  11. linux stm32 虚拟串口驱动安装,stm32usb虚拟串口驱动
  12. wps垂直排列标题与文本_如何垂直设置wps文本
  13. word另存为html行距,word文档如何设置行间距
  14. 最好的输入法--陈桥五笔5.806(绿色可自动卸载版)
  15. 今天开始学Convex Optimization:第3章 Convex Sets and Convex functions
  16. SEO常用的数据名词解释
  17. memory management 蓝屏win10,要怎么解决这个蓝屏问题
  18. 基于CentOS7系统环境下的Snort3安装指南
  19. c语言从键盘输入一个百分制成绩score,C语言 基础练习40题
  20. [刷题]leetcode\977_有序数组的平方

热门文章

  1. java 删除文件夹和文件_如何创建无法删除的文件夹?
  2. python怎么导入csv文件数据-机器学习Python实践——数据导入(CSV)
  3. php 5.6.6.tar.gz.asc,Signature Checking Using GnuPG
  4. 前后端分离 前端页面验证码没有显示
  5. ef mysql 中文乱码,mysql解決中文亂碼問題
  6. python的设计哲学_Python的设计哲学
  7. python django mysql_python测试开发django-10.django连接mysql
  8. mysql limit (1-1)10_110,当您知道只有1个结果时,是否将'LIMIT 1'添加到MySQL查询中使它们更快?...
  9. python自动qq群发_用Python自动办公,做职场高手
  10. python实现二分类_感知器做二分类的原理及python numpy实现