当前位置: 首页 > news >正文

江西省历史建筑信息平台合肥网站推广优化公司

江西省历史建筑信息平台,合肥网站推广优化公司,做请柬的网站,浙江省城乡建设网站证件查询GO语言网络编程(并发编程)Goroutine池 1. Goroutine池 1.1.1. worker pool(goroutine池) 本质上是生产者消费者模型可以有效控制goroutine数量,防止暴涨需求: 计算一个数字的各个位数之和,例…

GO语言网络编程(并发编程)Goroutine池

1. Goroutine池

1.1.1. worker pool(goroutine池)

  • 本质上是生产者消费者模型
  • 可以有效控制goroutine数量,防止暴涨
  • 需求:
    • 计算一个数字的各个位数之和,例如数字123,结果为1+2+3=6
    • 随机生成数字进行计算
  • 控制台输出结果如下:
    在这里插入图片描述
package mainimport ("fmt""math/rand"
)type Job struct {// idId int// 需要计算的随机数RandNum int
}type Result struct {// 这里必须传对象实例job *Job// 求和sum int
}func main() {// 需要2个管道// 1.job管道jobChan := make(chan *Job, 128)// 2.结果管道resultChan := make(chan *Result, 128)// 3.创建工作池createPool(64, jobChan, resultChan)// 4.开个打印的协程go func(resultChan chan *Result) {// 遍历结果管道打印for result := range resultChan {fmt.Printf("job id:%v randnum:%v result:%d\n", result.job.Id,result.job.RandNum, result.sum)}}(resultChan)var id int// 循环创建job,输入到管道for {id++// 生成随机数r_num := rand.Int()job := &Job{Id:      id,RandNum: r_num,}jobChan <- job}
}// 创建工作池
// 参数1:开几个协程
func createPool(num int, jobChan chan *Job, resultChan chan *Result) {// 根据开协程个数,去跑运行for i := 0; i < num; i++ {go func(jobChan chan *Job, resultChan chan *Result) {// 执行运算// 遍历job管道所有数据,进行相加for job := range jobChan {// 随机数接过来r_num := job.RandNum// 随机数每一位相加// 定义返回值var sum intfor r_num != 0 {tmp := r_num % 10sum += tmpr_num /= 10}// 想要的结果是Resultr := &Result{job: job,sum: sum,}//运算结果扔到管道resultChan <- r}}(jobChan, resultChan)}
}
http://www.15wanjia.com/news/41063.html

相关文章:

  • 专业网站建设微信网站定制长沙网站seo排名
  • 做网站需要几个服务器网络营销教学网站
  • 做网站和做产品厦门站长优化工具
  • 做网站有费用吗网站关键词排名优化价格
  • 天堂网长尾关键词挖掘网站太原做网站的工作室
  • 河北住房和城乡建设厅网站首我想做app推广代理
  • 宁波网站设计公司哪个好seo网上培训
  • 网站建设栏目管理怎么百度推广
  • 网站制作公司网网络推广是网络营销的基础
  • 郑州科大医院seo站长教程
  • 网站美化流量点击推广平台
  • 山东高端网站建设wang百度云搜索引擎入口官网
  • 网站制作测试范围如何制作网站
  • 旅游地网站制作谁有推荐的网址
  • 做响应式网站品牌推广策划营销策划
  • 侧边栏jquery网站后台免费制作网站平台
  • 建设网站存在的问题百度seo软件是做什么的
  • 关于推进政府网站集约化建设百度一下首页下载安装桌面
  • 网站建设公司代理西安网站优化公司
  • 上海专业网站建设服务百度关键词搜索优化
  • 怎么做阿里国际网站的数据分析新闻热点最新事件
  • 特种作业操作证查询入口seo标题优化导师咨询
  • python在线编程翻译器百度seo公司电话
  • 手机电脑网站 建站程序市场调研报告1500字
  • 做网站拍幕布照是什么意思百度客服电话
  • 河南做网站搜索广告是什么意思
  • 做门名片设计网站专门的网页制作工具有
  • 自己做的网站有什么用网站友链查询接口
  • linux做网站要求网店怎么运营和推广
  • 电商兼职网站开发百度网络营销app