Go语言并发模式:Worker Pool
1. Worker Pool实现
func workerPool(workers int, jobs <-chan Job, results chan<- Result) { var wg sync.WaitGroup for i := 0; i < workers; i++ { wg.Add(1) go func() { defer wg.Done() for job := range jobs { results <- process(job) } }() } wg.Wait() }2. 总结
Worker Pool模式控制并发数量,避免资源耗尽。