Sobes.tech
Junior — Middle

Quelles méthodes peuvent être utilisées pour basculer l'exécution des coroutines dans un seul thread?

sobes.tech IA

Réponse de l'IA

Dans Kotlin, les coroutines peuvent être basculées dans un même thread à l'aide de différents dispatcher et fonctions:

  • withContext(Dispatchers.Main) — basculement vers le thread principal (UI).
  • withContext(Dispatchers.Default) — basculement vers un pool de threads pour des tâches intensives en CPU.
  • withContext(Dispatchers.IO) — basculement vers un pool de threads pour des opérations d'entrée/sortie.

De plus, vous pouvez utiliser yield() pour céder volontairement le contrôle à une autre coroutine dans le même thread.

Exemple de changement de contexte:

launch {
    // Travail sur le thread principal
    withContext(Dispatchers.IO) {
        // Effectuer une opération d'entrée/sortie
    }
    // Retour au thread principal
}