Как реализовать fan-out/fan-in?

Middle
214 просмотров
AFK Offer AI

Fan-out — одни данные раздаёшь нескольким горутинам для параллельной обработки. Fan-in — результаты из нескольких каналов собираешь в один. Fan-out: запускаешь N горутин, каждая читает из одного канала. Fan-in: функция merge принимает несколько каналов, запускает горутину на каждый, все пишут в один выходной канал. sync.WaitGroup для закрытия выходного канала когда все входные закрыты. Используется когда стадия pipeline CPU-bound и её надо распараллелить.

Следующий вопрос

Как объяснить технические решения бизнесу?