Junior — Middle
Expliquez le mécanisme d'interaction des éléments clés async et await dans le traitement des coroutines.
sobes.tech IA
Réponse de l'IA
En Kotlin, les coroutines utilisent les mots-clés async et await pour la programmation asynchrone.
- async lance une nouvelle coroutine et retourne un Deferred — un résultat différé.
- await est appelé sur un Deferred et suspend l'exécution de la coroutine en cours jusqu'à l'obtention du résultat, sans bloquer le thread.
Exemple :
val deferred = async {
// Opération longue
fetchData()
}
val result = deferred.await() // Attendre le résultat de manière asynchrone
Ainsi, async permet de lancer des tâches en parallèle, et await d'obtenir leur résultat, en conservant l'asynchronie et sans bloquer le thread principal.