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.