Sobes.tech
Junior — Middle

Standart dağıtıcıların asenkron görev işleme rolü nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de (örneğin, Kotlin Coroutines ile) görevlerin asenkron işlenmesinde standart Dispatchers, coroutine'in hangi thread veya bağlamda çalışacağını belirler.

Standart Dispatchers'ın temel rolleri:

  • Dispatchers.Main — görevleri ana (UI) thread'da gerçekleştirir. Arayüz güncellemeleri için kullanılır.
  • Dispatchers.IO — giriş/çıkış işlemleri (dosya okuma/yazma, ağ istekleri) için optimize edilmiştir. Bloke edici işlemleri ana thread'i engellemeden yapmaya olanak tanır.
  • Dispatchers.Default — CPU yoğun görevler, hesaplamalar gibi işler için kullanılır.

Dispatchers kullanımı, görevleri threadler arasında verimli bir şekilde dağıtarak UI'nin bloklanmasını önler ve uygulamanın yanıt verme kabiliyetini artırır.

Kullanım örneği:

import kotlinx.coroutines.*

fun loadData() {
    GlobalScope.launch(Dispatchers.Main) {
        val data = withContext(Dispatchers.IO) {
            // Ağ veya dosya okuma gibi uzun süren işlem
            fetchDataFromNetwork()
        }
        // Alınan verilerle UI'yi güncelle
        updateUI(data)
    }
}

Bu şekilde, standart dispatchers, asenkron görevlerin yürütüldüğü bağlamı kontrol eder, yükü uygun şekilde dağıtır ve thread güvenliğini sağlar.