Junior — Middle
Жалгыз кезекке sync ыкмасын чакырганда блоктоо кандай иштейт?
sobes.tech AI
AIден жооп
GCD (Grand Central Dispatch) ичинде сериалдык кезекке sync методу чакырылганда, учурдагы агым sync аркылуу берилген тапшырма аяктагына чейин бөгөттөлөт. Эгер sync ошол эле агымдан чакырылса, ал deadlock пайда болот, анткени кезек жаңы тапшырманы баштай албайт, доктур учурдагы тапшырма бүтө элек болсо, жана учурдагы агым жаңы тапшырманын аяктоосун күтүп турат.
Мисал:
let serialQueue = DispatchQueue(label: "com.мисал.serial")
serialQueue.sync {
print("Тапшырма аткарылууда")
}
// Учурдагы агым тапшырма аяктагына чейин бөгөттөлөт
Мындан ары, ошол эле кезекке, ошол кезектеги тапшырмадан sync чакырбоо маанилүү, өз ара бөгөттөлүүнү алдын алуу үчүн.