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