Junior — Middle
Mis juhtub niitidega, kasutades sync funktsiooni ja milline niit on protsessis lukustatud?
sobes.tech AI
Vastus AI-lt
Funktsioon sync mitme-õmbluse kontekstis (näiteks GCD iOS-is) täidab ülesande sünkronselt, see tähendab, et kutsuv niit on blokeeritud kuni ülesande lõpetamiseni. Kui kutsute sync-i peamisest niidist järjekorras, mis samuti töötab peamisel niidil, viib see deadlock-ini, kuna peamine niit ootab ülesande lõpetamist, mis ei saa alata, kuni peamine niit on vaba.
Seetõttu blokeerib sync kasutamisel kutsuv niit ja koodi täitmine peatub kuni ülesande lõpetamiseni.