文章目录
fanIn

协程版

递归版

反射版

fanOut

同步版

协程异步版

反射版

今天回顾下常用的两种 channel 应用模式: fanIn 和 fanOut,
分别对应了,对一组相同类型 chan 的合并和广播。
fanIn
将全部输入 chan 都聚合到一个 out chan 中,在全部聚合完成后,关闭 out chan.
详见传送门
附上压测数据
看了第一段代码,一些明显的优化点:

  • 使用 select 不要每个 chan 新起一个 go
  • out chan 带个 1024 缓存