Junior — Middle
Šta se dešava kada se koristi metoda sync na globalnoj DispatchQueue u Swift-u?
sobes.tech АИ
Одговор од АИ
Metoda sync na globalnoj DispatchQueue u Swift izvršava prosleđeni blok koda sinhrono na toj red. To znači da će trenutna nit čekati da se blok završi pre nego što nastavi.
Ako pozovete DispatchQueue.global().sync { ... }, tada:
- Trenutna nit će biti blokirana do završetka bloka.
- Blok se izvršava na globalnoj redi (u pozadinskom thread-u).
Važno je zapamtiti da pozivanje sync na istoj redi na kojoj već radi kod može dovesti do deadlock-a.
Primer:
DispatchQueue.global().sync {
print("Izvršava se na globalnoj redi")
}
print("Ovaj kod će se izvršiti nakon bloka")