Go 的 goroutine 和 channel 支持一套成熟的并发模式来解决常见问题——分发工作、扇出/扇入、管道和速率限制。掌握这些习用模式能让你构建正确、高效的并发系统。
Worker pool — 有界并发
go
{
wg sync.WaitGroup
w := ; w < numWorkers; w++ {
wg.Add()
{
wg.Done()
job := jobs {
results <- process(job)
}
}()
}
wg.Wait()
(results)
}
