Назад к задачам
AvitoПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior
102
Оптимизация массовых HTTP-запросов
Компании, где спрашивали:
Условие задачи
Нужно адаптировать реализацию параллельных HTTP-запросов к большому числу URL-адресов, чтобы избежать чрезмерного потребления ресурсов. Требуется ограничить количество одновременно выполняемых запросов
func printCodes(urls []string) {
var wg sync.WaitGroup
wg.Add(len(urls))
get := func(url string) {
resp, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
fmt.Println(url, resp.Status)
defer wg.Done()
}
for _, url := range urls {
url := url
go get(url)
}
wg.Wait()
}