1. Задача: Как можно ускорить этот код? Время ответа сервиса может достигать 3 секунд Сервис держит не более 300 клиентских соединений
Условие
func main(){
url := "https://www.wildberries.ru/getPurchasesByID?id=%d"
for id := range 100_000 {
resp := getPurchasesByID(url, id)
fmt.Println(resp)
}
}Ответ
func main(){
url := "https://www.wildberries.ru/getPurchasesByID?id=%d"
wg := &sync.WaitGroup{}
idChan := make(chan int, 1)
for id := range 100_000 {
idChan <- id
}
close(idChan)
}
for i := 0; i < 300; i++ {
wg.Add(1)
go func(){
for id range := idChan {
resp := getPurchasesByID(url, id)
fmt.Println(resp)
}
wg.Done()
}
}
wg.Wait()
}Задача 2
Асинхронное слияние каналов
Реализовать функцию…