Sobes.tech
Intern

Greetings 1 və Greetings 3 arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Əsas fərq növbələrlə işləmə üsulundadır.

Greetings 1 (sinxron):

  • Sinxron növbələr (DispatchQueue) istifadə edir.
  • Sinxron növbədə vəzifə yerinə yetirilərkən, cari axın vəzifənin tamamlanmasına qədər bloklanır.

Greetings 3 (asinxron):

  • Asinxron növbələr (DispatchQueue) istifadə edir.
  • Asinxron növbədə vəzifə yerinə yetirilərkən, cari axın bloklanmır və işləməyə davam edə bilər. Vəzifə başqa bir işçi axınında icra olunur.

Əsas fərqlər cədvəldə:

Xüsusiyyət Greetings 1 (Sinxron) Greetings 3 (Asinxron)
Növbə tipi Sinxron (DispatchQueue) Asinxron (DispatchQueue)
İş axını Cari axın bloklanır Cari axın bloklanmır
İcra işçi axınları Eyni axında vəzifə yerinə yetirilir Fon axınında vəzifə yerinə yetirilir
Tətbiq Sadə ardıcıl əməliyyatlar UI-ni bloklamayan əməliyyatlar

Konsepti göstərən abstrakt kod nümunəsi:

// Greetings 1
let syncQueue = DispatchQueue(label: "com.nümunə.sync")
syncQueue.sync {
    // Uzun vəzifə
    print("Greetings 1: Uzun vəzifə tamamlandı") // Bu print vəzifə tamamlandıqdan sonra baş verir
}
print("Greetings 1: Axın sync-dən sonra davam edəcək") // Bu print vəzifə tamamlandıqdan sonra baş verir

// Greetings 3
let asyncQueue = DispatchQueue(label: "com.nümunə.async")
asyncQueue.async {
    // Uzun vəzifə
    print("Greetings 3: Uzun vəzifə tamamlandı") // Bu print daha sonra baş verə bilər
}
print("Greetings 3: Axın dərhal async-dən sonra davam edəcək") // Bu print dərhal baş verir

Senkron və asinxron icra arasında seçim, cari axını bloklamaq və ya icazə vermək ehtiyacına əsaslanır. iOS inkişafında, uzunmüddətli əməliyyatlar (məsələn, şəbəkə sorğuları, məlumatların emalı) fon rejimində yerinə yetirmək üçün çox vaxt asinxron icra istifadə olunur ki, əsas axın bloklanmasın və istifadəçi interfeysi donmasın.