Sobes.tech
Junior — Middle

Standart dispatcherlərin asinxron tapşırıq emalında rolu nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Android-da (məsələn, Kotlin Coroutines ilə) vəzifələrin asinxron işlənməsində standart Dispatchers, korutinanın hansı thread və ya kontekstdə icra olunacağını müəyyən edir.

Standart Dispatchers-ın əsas rolları:

  • Dispatchers.Main — vəzifələri əsas (UI) thread-də icra edir. İnterfeysi yeniləmək üçün istifadə olunur.
  • Dispatchers.IO — giriş/çıxış əməliyyatları üçün optimallaşdırılmışdır (fayl oxuma/yazma, şəbəkə sorğuları). Bloklayıcı əməliyyatları əsas thread-i bloklamadan yerinə yetirməyə imkan verir.
  • Dispatchers.Default — CPU intensiv vəzifələr üçün, məsələn, hesablamalar.

Dispatchers istifadə etmək, vəzifələri effektiv şəkildə threadlər arasında bölüşdürməyə, UI-nin bloklanmasını qarşısını almağa və tətbiqin cavabvermə qabiliyyətini artırmağa imkan verir.

İstifadə nümunəsi:

import kotlinx.coroutines.*

fun loadData() {
    GlobalScope.launch(Dispatchers.Main) {
        val data = withContext(Dispatchers.IO) {
            // Uzunmüddətli şəbəkə və ya fayl oxuma əməliyyatı
            fetchDataFromNetwork()
        }
        // Alınan məlumatlarla UI-ni yeniləyin
        updateUI(data)
    }
}

Beləliklə, standart dispatcherlər asinxron vəzifələrin icra kontekstini idarə edir, yükü düzgün bölüşdürür və thread təhlükəsizliyini təmin edir.