Go goroutines a kanály umožňují soubor dobře etablovaných vzorů souběhu, které řeší běžné problémy — distribuci práce, fan-out/in, pipelines a omezování rychlosti. Znalost těchto idiomatických vzorů vám umožní vytvářet správné a efektivní souběžné systémy.
Worker pool — ohraničený souběh
{
wg sync.WaitGroup
w := ; w < numWorkers; w++ {
wg.Add()
{
wg.Done()
job := jobs {
results <- process(job)
}
}()
}
wg.Wait()
(results)
}
