Junior — Middle
Kotlin'de coroutinler kullanırken ana dağıtıcı ve varsayılan dağıtıcı nasıl farklılık gösterir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, dispatcher'lar (göndericiler), coroutine'un hangi thread veya thread havuzunda çalışacağını belirler.
-
Main dispatcher — ana (UI) thread üzerinde coroutine'ları başlatan dispatcher'dır. Arayüzü güncellemek ve UI öğeleriyle etkileşimde bulunmak için kullanılır, burada ana thread'de yürütme gereklidir.
-
Default dispatcher — varsayılan dispatcher olup, CPU yoğun görevler için optimize edilmiş bir thread havuzunu kullanır. Ana thread'i engellemez ve arka plan hesaplamaları için uygundur.
Örnek:
// Ana thread'de coroutine başlatma
CoroutineScope(Dispatchers.Main).launch {
// UI güncellemesi
}
// Arka plan işi için coroutine başlatma
CoroutineScope(Dispatchers.Default).launch {
// ağır hesaplamalar
}
Özetle, Main dispatcher — UI thread için, Default — arka plan CPU görevleri için kullanılır.