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
}