Junior — Middle
Je možné použiť viac DispatchGroup naraz v jednom vlákne?
sobes.tech AI
Odpoveď od AI
Áno, v jednom vlákne je možné súčasne použiť viac objektov DispatchGroup. Každá DispatchGroup slúži na skupinovanie asynchrónnych úloh a sledovanie ich dokončenia nezávisle od ostatných skupín.
To je užitočné, keď je potrebné paralelne sledovať viacero súborov úloh s rôznou logikou ukončenia.
Príklad použitia viacerých DispatchGroup:
let group1 = DispatchGroup()
let group2 = DispatchGroup()
DispatchQueue.global().async(group: group1) {
// Asynchrónna úloha 1
}
DispatchQueue.global().async(group: group2) {
// Asynchrónna úloha 2
}
group1.notify(queue: .main) {
print("Úlohy skupiny 1 sú dokončené")
}
group2.notify(queue: .main) {
print("Úlohy skupiny 2 sú dokončené")
}
Týmto spôsobom môžu viac DispatchGroup koexistovať a byť súčasne používané v rovnakom vlákne bez konfliktov.