Sobes.tech
Junior

Sinxron va asinxron so'rovlar o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

Senkron so'rovlar joriy bajarilayotgan oqimni javob olguncha bloklaydi. Asenkron so'rovlar oqimni bloklamaydi; javob odatda callback, delegat yoki yopilish mexanizmi orqali operatsiya tugagach ishlov beriladi.

Xususiyat Senkron so'rov Asenkron so'rov
Oqimni bloklash Ha Yo'q
UI-reaktivligi UI'ni bloklashi mumkin UI'ni bloklamaydi
Amalga oshirish murakkabligi Oddiy Murakkab (holatni boshqarish)
iOSda foydalanish Kam, faqat qisqa vazifalar uchun, asosiy oqimda emas Afzal, ayniqsa uzoq davom etadigan operatsiyalar uchun

URLSession yordamida asenkron so'rov misoli:

// URLSessionTask yaratish
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Bu blok asenkron ravishda so'rov tugagach ishlaydi
    if let error = error {
        print("Xato: \(error.localizedDescription)")
        return
    }

    // Olingan ma'lumotlarni ishlash
    if let data = data {
        print("Ma'lumotlar olindi, baytlar: \(data.count)")
    }

    // UI yangilanishi asosiy oqimda bo'lishi kerak
    DispatchQueue.main.async {
        // UI yangilash
    }
}

// Vazifani boshlash
task.resume()

// Bu yerda kod darhol bajariladi, so'rov tugashini kutmay
print("So'rov yuborildi")