Sobes.tech
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("ყველა მოთხოვნა დასრულდა")
}

ეს მიდგომა საშუალებას გაძლევთ ეფექტურად მართოთ პარალელური დავალებები და შეასრულოთ კოდი ყველა მოთხოვნის დასრულების შემდეგ.