Prnyself
2018-03-01 17:53
还是不明白为什么merge的时间是一样的 求解释
个人理解:并行中,merge1,merge2,merge3 都在等待自己的 输入 chan 中有数据存入。merge1比较一次就会往自己的输出chan,也就是merge3的输入chan中存一个数据;merge2同理;merge3等待merge1,merge2都比较完一次输出到chan中一个int,自己就可以比较一次。所以merge3只会比merge1,merge2中完成慢的那一个慢一次比较
因为只要排序好了,立即会向merge的接收channel发消息,假定有三个merge。
假定:
merge1、merge2是第一阶段。
merge3是第二阶段。
只要merge1, merge2有数据输出了,merge3就会立即做排序,它们就像是几乎是同时进行的,所以时间上没有多大差别。
搭建并行处理管道,感受GO语言魅力
19375 学习 · 78 问题
相似问题