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.