تمكّن goroutines و channels في Go مجموعة من أنماط التزامن الراسخة جيدًا التي تحل مشاكل شائعة — توزيع العمل، fan-out/in، pipelines، و rate limiting. معرفة هذه الأنماط المصطلحية يتيح لك بناء أنظمة متزامنة صحيحة وفعالة.
Worker pool — التزامن محدود
{
wg sync.WaitGroup
w := ; w < numWorkers; w++ {
wg.Add()
{
wg.Done()
job := jobs {
results <- process(job)
}
}()
}
wg.Wait()
(results)
}
