1. 首页
  2. 主题
  3. Go问与答

请教一个高并发协程池的问题

gouyingqi · · 1187 次点击
格式不会搞截图了 原文链接http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/ ![QQ截图20190815114842.png](https://static.studygolang.com/190815/af58ac04e5272a756607c397d8a5712b.png)
buguang01
https://github.com/buguang01
....
#3
更多评论
buguang01
https://github.com/buguang01
你的job.do()是代表具体的逻辑部分吗? 然后逻辑处理完了,<-Workers,才从这个chan里拿一个数据? 不应该是启动之前做这事吗?然后完成操作后,放回去一个吗? ```go func Work(){ Workers:=make(chan bool,MaxWorkers) for i:=0;i < MaxWorkers; i++{ Workers <-true } for { select { case job := <-JobQueue: <-Workers go func(job Job){ job.do() Workers <-true }(job) } } } ```
#1
buguang01
https://github.com/buguang01
你的job.do()是代表具体的逻辑部分吗? 然后逻辑处理完了,<-Workers,才从这个chan里拿一个数据? 不应该是启动之前做这事吗?然后完成操作后,放回去一个吗? ```go func Work(){ Workers:=make(chan bool,MaxWorkers) for i:=0;i < MaxWorkers; i++{ Workers <-true } for { select { case job := <-JobQueue: <-Workers go func(job Job){ job.do() Workers <-true }(job) } } } ```
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中