Junior — Middle
Quelle est la différence entre le dispatcher principal et le dispatcher par défaut lors de l'utilisation des coroutines en Kotlin?
sobes.tech IA
Réponse de l'IA
En Kotlin, les dispatchers déterminent sur quel thread ou pool de threads la coroutine sera exécutée.
-
Main dispatcher — c'est un dispatcher qui lance les coroutines sur le thread principal (UI). Utilisé pour mettre à jour l'interface et interagir avec les éléments UI, où l'exécution sur le thread principal est requise.
-
Default dispatcher — c'est un dispatcher par défaut qui utilise un pool de threads optimisé pour les tâches intensives en CPU. Il ne bloque pas le thread principal et convient pour les calculs en arrière-plan.
Exemple:
// Lancer une coroutine sur le thread principal
CoroutineScope(Dispatchers.Main).launch {
// mise à jour de l'UI
}
// Lancer une coroutine pour un travail en arrière-plan
CoroutineScope(Dispatchers.Default).launch {
// calculs lourds
}
En résumé, le dispatcher Main est pour le thread UI, le dispatcher Default pour les tâches CPU en arrière-plan.