Sobes.tech
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üş
}