Junior — Middle
როგორ აგზავნით ათ ქსელურ მოთხოვნას ერთდროულად GCD-ს გამოყენებით?
sobes.tech AI
პასუხი AI-სგან
iOS-ზე GCD (Grand Central Dispatch) გამოყენებით ერთდროულად ათი ქსელური მოთხოვნის გაგზავნისთვის, შეგიძლიათ შექმნათ 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("მოთხოვნა \(i) დასრულდა")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("ყველა მოთხოვნა დასრულდა")
}
ეს მიდგომა საშუალებას გაძლევთ ეფექტურად მართოთ პარალელური დავალებები და შეასრულოთ კოდი ყველა მოთხოვნის დასრულების შემდეგ.