A Go goroutine-jai és channel-jei jól bevált párhuzamosságyi mintákat tesznek lehetővé, amelyek megoldják a gyakori problémákat — munka elosztása, fan-out/in, pipeline-ok és sebességhatárlimitálás. Ezen idiómatikus minták ismerete lehetővé teszi korrektek és hatékony párhuzamos rendszerek építését.
Worker pool — korlátozott párhuzamosság
{
wg sync.WaitGroup
w := ; w < numWorkers; w++ {
wg.Add()
{
wg.Done()
job := jobs {
results <- process(job)
}
}()
}
wg.Wait()
(results)
}
