Junior — Middle
Aynı iş parçacığında coroutine yürütmesini değiştirmek için hangi yöntemler kullanılabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, korutinler aynı akış içinde farklı dispatcherlar ve fonksiyonlar kullanılarak değiştirilebilir:
- withContext(Dispatchers.Main) — ana (UI) akışa geçiş.
- withContext(Dispatchers.Default) — CPU yoğun görevler için bir işçi havuzuna geçiş.
- withContext(Dispatchers.IO) — giriş/çıkış işlemleri için bir işçi havuzuna geçiş.
Ayrıca, yield() kullanılarak, mevcut akış içinde başka bir korutina ile gönüllü olarak kontrol devredilebilir.
Bağlam değiştirme örneği:
launch {
// Ana akışta çalışma
withContext(Dispatchers.IO) {
// Giriş/çıkış işlemini gerçekleştir
}
// Ana akışa dönüş
}