Sobes.tech
Junior — Middle

Czy możliwe jest jednoczesne używanie wielu DispatchGroup w jednym wątku?

sobes.tech AI

Odpowiedź od AI

Tak, w jednym wątku można jednocześnie używać wielu obiektów DispatchGroup. Każda DispatchGroup służy do grupowania zadań asynchronicznych i śledzenia ich zakończenia niezależnie od innych grup.

Jest to przydatne, gdy chcesz równolegle monitorować kilka zestawów zadań z różną logiką końcową.

Przykład użycia wielu DispatchGroup:

let group1 = DispatchGroup()
let group2 = DispatchGroup()

DispatchQueue.global().async(group: group1) {
    // Zadanie asynchroniczne 1
}

DispatchQueue.global().async(group: group2) {
    // Zadanie asynchroniczne 2
}

group1.notify(queue: .main) {
    print("Zadania grupy 1 zakończone")
}

group2.notify(queue: .main) {
    print("Zadania grupy 2 zakończone")
}

W ten sposób, kilka DispatchGroup może współistnieć i być używanych jednocześnie w tym samym wątku bez konfliktów.