请教一个并发例子的实现

lichehuo · · 1047 次点击
那你直接写个job的chan, 在 Handler里只做 command -> jobchan 命令行go一个 for command:= range jobchan{}来消费就可以了…… 感觉你生产和消费搞反了啊
#5
更多评论
看代码看得眼睛疼,这个必然阻塞啊。 你需要理解下 for metrics := range metricsChannel 是什么…… chan是个进程见通行的缓存。 正常情况请按 <-和 ->的方式来操作。 需要做消费者的话,应该在主进程里起一go用select来读数据。 另外不太明白你现在这个用途为什么需要用到chan.
#1
抱歉,不会排版,耽误你时间了。 非常感谢你的回复,我初衷是觉得我执行command的时候,有些command可能执行时间长,所以我想着只要command执行完了就把结果丢到chan去,然后我消费端把它消费。
#2