Junior — Middle
Quelle est la nécessité d'utiliser des coroutines en programmation?
sobes.tech IA
Réponse de l'IA
Les coroutines sont utilisées pour simplifier la programmation asynchrone et la gestion multitâche sans bloquer le fil principal. Sur Android, cela est particulièrement important pour ne pas bloquer le fil UI lors de l'exécution d'opérations longues, comme des requêtes réseau ou des opérations sur une base de données.
Les coroutines permettent d'écrire du code asynchrone de manière séquentielle, ce qui améliore la lisibilité et la maintenance du code. Elles gèrent efficacement les ressources en suspendant l'exécution sans créer de nouveaux threads.
Exemple d'utilisation des coroutines en Kotlin pour effectuer une requête réseau :
import kotlinx.coroutines.*
fun fetchData() {
GlobalScope.launch(Dispatchers.Main) { // lance une coroutine sur le fil UI
val data = withContext(Dispatchers.IO) { // bascule sur un fil de fond
// simulation de requête réseau
fetchFromNetwork()
}
updateUI(data) // met à jour l'UI avec les données reçues
}
}
suspend fun fetchFromNetwork(): String {
delay(1000) // simulation de retard
return "Données du serveur"
}
fun updateUI(data: String) {
println(data)
}