Sobes.tech
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.