Sobes.tech
Junior — Middle

Welke methoden kunnen worden gebruikt om de uitvoering van coroutines binnen één thread te schakelen?

sobes.tech AI

Antwoord van AI

In Kotlin kunnen coroutines binnen dezelfde thread worden geschakeld met behulp van verschillende dispatchers en functies:

  • withContext(Dispatchers.Main) — schakelen naar de hoofd (UI) thread.
  • withContext(Dispatchers.Default) — schakelen naar een threadpool voor CPU-intensieve taken.
  • withContext(Dispatchers.IO) — schakelen naar een threadpool voor invoer- en uitvoeroperaties.

Daarnaast kan yield() worden gebruikt om vrijwillig de controle over te dragen aan een andere coroutine binnen dezelfde thread.

Voorbeeld van contextwisseling:

launch {
    // Werk op de hoofdthread
    withContext(Dispatchers.IO) {
        // Voer invoer-/uitvoeroperatie uit
    }
    // Terug naar de hoofdthread
}