Goroutinat dhe kanalat e Go-it mundësojnë një seri modelesh concurrency të mirë të vendosura që zgjidhin probleme të zakonshme — shpërndarjen e punës, fan-out/fan-in, pipelines, dhe rate limiting. Njohja e këtyre modeleve idiomatike ju lejon të ndërtoni sisteme concurrency të saktë dhe efikase.
Worker pool — concurrency i kufizuar
{
wg sync.WaitGroup
w := ; w < numWorkers; w++ {
wg.Add()
{
wg.Done()
job := jobs {
results <- process(job)
}
}()
}
wg.Wait()
(results)
}
