Junior — Middle
Proqramlaşdırmada sinxron və asinxron çağırışlar arasında hansı fərqlər var?
sobes.tech Süni İntellekt
AI-dan cavab
Sinxron çağırışlar, əməliyyat tamamlanana qədər proqramın icrasını blok edir. Bu, cari çağırış nəticə qaytarmadan növbəti kodun işləməyə başlamayacağı deməkdir. iOS-də bu, əsas axını bloklaya və interfeysin donmasına səbəb ola bilər.
Asinxron çağırışlar, əsas axını bloklamadan əməliyyatları başlatmağa imkan verir. Nəticə daha sonra geri çağırışlar, bağlamalar və ya digər mexanizmlər vasitəsilə gəlir. Bu, xüsusən şəbəkə və ya uzunmüddətli tapşırıqlarla işləyərkən tətbiqin cavabvermə qabiliyyətini yaxşılaşdırır.
Swift-də asinxron çağırış nümunəsi:
DispatchQueue.global().async {
// Uzun əməliyyat
let result = performHeavyTask()
DispatchQueue.main.async {
// UI-ni yeniləmək nəticə ilə
updateUI(with: result)
}
}