Worker pool — фиксированное число горутин, обрабатывающих задачи из канала. Создаёшь jobs := make(chan Task, bufSize). Запускаешь N горутин, каждая в цикле читает из jobs и обрабатывает. Отправитель пишет задачи в канал. Закрываешь канал когда задачи кончились — воркеры выходят из range. sync.WaitGroup для ожидания завершения. Это базовый паттерн конкурентности в Go. Размер пула — обычно runtime.NumCPU() для CPU-bound или больше для IO-bound.
Как реализовать worker pool?
Middle
357 просмотровAFK Offer AI
Как делать batch insert?