《百万请求一分钟,Golang 轻松来搞定》这篇文章中的代码是不是有问题??

kaxikaxi · 2018-03-04 14:29:15 · 2577 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-03-04 14:29:15 的主题,其中的信息可能已经有所发展或是发生改变。

https://studygolang.com/articles/10952 QQ截图20180304143653.png

希望解读一下他的代码,感激不尽!!!


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2577 次点击  
加入收藏 微博
13 回复  |  直到 2018-03-30 17:01:47
channel
channel · #1 · 7年之前

从这里提供的代码看,肯定编译不通过~

kaxikaxi
kaxikaxi · #2 · 7年之前
channelchannel #1 回复

从这里提供的代码看,肯定编译不通过~

https://studygolang.com/articles/10952 这边文章 有完整的,我是一直觉得代码有毛病??

channel
channel · #3 · 7年之前

看着是,当然,也有可能作者写文章,代码是部分,不全~

kaxikaxi
kaxikaxi · #4 · 7年之前
channelchannel #3 回复

看着是,当然,也有可能作者写文章,代码是部分,不全~

kaxikaxi
kaxikaxi · #5 · 7年之前
channelchannel #3 回复

看着是,当然,也有可能作者写文章,代码是部分,不全~

抛开细节。 我感觉他的工作池那块的逻辑就有问题吧??能否解答一下?

YoungBlood
YoungBlood · #6 · 7年之前

他是采用master-work模式来实现的,他给的部分代码是没问题的,只是有点难理解,简单的就是work的几个goroutine的channel放入pool中,master从pool中取出一个channel,往里面写入值,然后work的goroutine从channel中取值,进行相应的操作,之后再将这个channel放入pool中等待下一次有值进行计算

ronow2cn
ronow2cn · #7 · 7年之前

自己调一下就可以了, https://github.com/ronow2cn/dispatch-worker

af913337456
af913337456 · #8 · 7年之前

可以肯定告诉你的是,pool 那块没问题的,它只不过写得比较抽象,我有另外一种写法

kaxikaxi
kaxikaxi · #9 · 7年之前
af913337456af913337456 #8 回复

可以肯定告诉你的是,pool 那块没问题的,它只不过写得比较抽象,我有另外一种写法

run 方法里应该是这个 NewWorker(d.WorkerPool) 而不是NewWorker(d.pool)

kaxikaxi
kaxikaxi · #10 · 7年之前
ronow2cnronow2cn #7 回复

自己调一下就可以了, https://github.com/ronow2cn/dispatch-worker

func (self *Payload) Upload() { //fmt.Println("id:", self.Id) count++ fmt.Println("JobQueue", int32(len(JobQueue)), count) } 这里的打印好像不会显示出来吧 ,意义在哪里》?

kaxikaxi
kaxikaxi · #11 · 7年之前
ronow2cnronow2cn #7 回复

自己调一下就可以了, https://github.com/ronow2cn/dispatch-worker

忽略!!!没有删除功能好尴尬 我已经看到了

ronow2cn
ronow2cn · #12 · 7年之前
kaxikaxikaxikaxi #10 回复

#7楼 @ronow2cn func (self *Payload) Upload() { //fmt.Println("id:", self.Id) count++ fmt.Println("JobQueue", int32(len(JobQueue)), count) } 这里的打印好像不会显示出来吧 ,意义在哪里》?

upload 模仿 例子的上传功能,这里打印,只是看执行了多少次。

kaxikaxi
kaxikaxi · #13 · 7年之前
ronow2cnronow2cn #12 回复

#10楼 @kaxikaxi upload 模仿 例子的上传功能,这里打印,只是看执行了多少次。

恩 已经完全 弄明白了 TNKS

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传