Junior — Middle
Da li je moguće koristiti više DispatchGroup istovremeno unutar jednog niti?
sobes.tech АИ
Одговор од АИ
Da, u jednom thread-u može se istovremeno koristiti više objekata DispatchGroup. Svaki DispatchGroup služi za grupisanje asinhronih zadataka i praćenje njihovog završetka nezavisno od drugih grupa.
Ovo je korisno kada je potrebno paralelno pratiti više skupova zadataka sa različitom logikom završetka.
Primer korišćenja više DispatchGroup:
let group1 = DispatchGroup()
let group2 = DispatchGroup()
DispatchQueue.global().async(group: group1) {
// Asinhroni zadatak 1
}
DispatchQueue.global().async(group: group2) {
// Asinhroni zadatak 2
}
group1.notify(queue: .main) {
print("Zadaci grupe 1 su završeni")
}
group2.notify(queue: .main) {
print("Zadaci grupe 2 su završeni")
}
Na ovaj način, više DispatchGroup mogu koegzistirati i koristiti se istovremeno u istom thread-u bez konflikata.