老师您好,请问一下为什么不是流水线形式的?就是A处理完一个element直接通过channel传给B,然后A继续处理其他的element,最后在C处进行收集。这样子不是更能体现并发的好处吗?

来源:7-2 一筷知菜 - 手把手白板写代码

bongIO好

2020-11-07 17:35

老师您好,请问一下为什么不是流水线形式的?就是A处理完一个element直接通过channel传给B,然后A继续处理其他的element,最后在C处进行收集。这样子不是更能体现并发的好处吗?

写回答 关注

1回答

  • 凰凰
    2020-11-07 21:09:35

    小伙伴客气啦!其实流水线形式也是可以的,这里只是提供了一种可能的案例
    在提问中提到的流水线形式,可能会存在一种,由于频繁使用channel传输数据的形式,而造成一定程度的额外耗时
    所以我们在设计并发代码的时候,在某些为了通过并发加速计算的场景下,通常会尽可能地避免使用到channel

Go并发之魂:Goroutine深入浅出【程序人生中的“米其林三星级”并发实战】

深入浅出Go并发核心:Goroutine,斩获Goroutine面试题。

5499 学习 · 8 问题

查看课程

相似问题