Sobes.tech
Back to questions
Junior — Middle
75

Как ты отправляешь десять сетевых запросов одновременно, используя GCD?

Companies where asked
Магнит Тех

Answer from AI

sobes.tech AI

Для отправки десяти сетевых запросов одновременно с использованием GCD (Grand Central Dispatch) в iOS можно создать группу задач DispatchGroup и добавить в неё асинхронные запросы. Это позволит запустить все запросы параллельно и отследить их завершение.

Пример на Swift:

let dispatchGroup = DispatchGroup()

for i in 1...10 {
    dispatchGroup.enter()
    let url = URL(string: "https://example.com/request\(i)")!
    let task = URLSession.shared.dataTask(with: url) { data, response, error in
        // Обработка ответа
        print("Request \(i) completed")
        dispatchGroup.leave()
    }
    task.resume()
}

dispatchGroup.notify(queue: .main) {
    print("Все запросы завершены")
}

Такой подход позволяет эффективно управлять параллельными задачами и выполнять код после завершения всех запросов.