Junior — Middle
Quelle est la différence entre Dispatchers.Default et Dispatchers.IO dans le contexte des Coroutines Kotlin?
sobes.tech IA
Réponse de l'IA
Dans Kotlin Coroutines, Dispatchers.Default et Dispatchers.IO sont destinés à différents types de tâches :
-
Dispatchers.Default : utilisé pour les opérations intensives en CPU, telles que les calculs et le traitement de données. Il utilise un pool de threads dont la taille dépend du nombre de cœurs de processeur disponibles.
-
Dispatchers.IO : optimisé pour les opérations d'entrée/sortie (lecture/écriture de fichiers, requêtes réseau, travail avec des bases de données). Il utilise un pool de threads étendu permettant d'exécuter plus de threads que le nombre de cœurs CPU, afin de ne pas bloquer les coroutines en attendant l'IO.
Exemple :
// Tâche intensive en CPU
withContext(Dispatchers.Default) {
// calculs complexes
}
// Tâche intensive en IO
withContext(Dispatchers.IO) {
// lecture de fichier ou requête réseau
}