Sobes.tech
Junior — Middle

Šta se dešava sa nitima prilikom korišćenja funkcije sync i koja nit je blokirana u procesu?

sobes.tech АИ

Одговор од АИ

Funkcija sync u kontekstu višestrukog izvršavanja (na primer, u GCD na iOS) izvršava zadatak sinhrono, što znači da se nit koja je poziva blokira dok se zadatak ne završi. Ako pozovete sync iz glavne niti na red koji se takođe izvršava u glavnoj niti, to će dovesti do deadlock-a, jer će glavna nit čekati završetak zadatka koji ne može da počne dok je glavna nit zauzeta.

Stoga, korišćenjem sync, pozivajuća nit se blokira, a izvršenje koda se zaustavlja do završetka zadatka.