Sobes.tech
Junior — Middle

Ի՞նչ է տեղի ունենում հոսքերի հետ sync ֆունկցիայի օգտագործման ժամանակ և որ հոսք է բլոկավորվում գործընթացում։

sobes.tech AI

Պատասխան AI-ից

Ֆունկցիան sync բազմապատկման կոնտեքստում (օրինակ, iOS-ի GCD-ում) իրականացնում է առաջադրանքը սինխրոն, այսինքն՝ կանչող հոսքը բլոկվում է մինչև առաջադրանքի ավարտը։ Եթե sync-ը կանչեք գլխավոր հոսքից այն հերթում, որը նույնպես կատարվում է գլխավոր հոսքում, դա կհանգեցնի deadlock-ի, քանի որ գլխավոր հոսքը կսպասի առաջադրանքի ավարտին, որը չի կարող սկսվել, քանի որ գլխավոր հոսքը զբաղված է։

Այսպիսով, sync-ի օգտագործմամբ, կանչող հոսքը բլոկվում է, և կոդի կատարմանը դադարեցվում է մինչև առաջադրանքի ավարտը։