Go की goroutines और channels कई सुस्थापित concurrency पैटर्न सक्षम करते हैं जो आम समस्याओं को हल करते हैं — काम वितरित करना, fan-out/in, pipelines, और rate limiting। इन idiomatic पैटर्नों को जानना आपको सही, कुशल concurrent systems बनाने देता है।
worker pool — bounded concurrency
{
wg sync.WaitGroup
w := ; w < numWorkers; w++ {
wg.Add()
{
wg.Done()
job := jobs {
results <- process(job)
}
}()
}
wg.Wait()
(results)
}
