我有以下功能,旋轉關閉走程序聚合來自去例程多個結果到一個單一的陣列
func (r *Runner) Execute() {
var wg sync.WaitGroup
wg.Add(len(r.pipelines))
for _, p := range r.pipelines {
go executePipeline(p, &wg)
}
wg.Wait()
errs := ....//contains list of errors reported by any/all go routines
}
我想可能有某種方式與渠道一定量,但我不能似乎弄明白了。要做到這一點
創建大小爲'LEN(r.pipelines)一片'讓每一個工人寫信給他們的相應的指標。 – zerkms
有一種模式可將某些通道的結果組合成一個名爲Fan In的模式。您可以在該模式中使用該方法(不一定是模式本身)。 –