Quelles méthodes d'exécution des tâches dans les Coroutines connais-tu?
sobes.tech IA
Réponse de l'IA
Dans Kotlin Coroutines, les tâches peuvent être effectuées de plusieurs manières :
-
launch — lance une nouvelle coroutine qui s'exécute en parallèle et ne retourne pas de résultat. Utilisé pour des tâches en arrière-plan où aucun résultat n'est nécessaire.
-
async — lance une coroutine qui retourne un résultat sous forme de Deferred, permettant d'obtenir le résultat via await(). Convient pour des calculs parallèles avec résultat.
-
runBlocking — bloque le thread actuel jusqu'à ce que la coroutine se termine, souvent utilisé dans les fonctions main ou pour les tests.
-
withContext — change le contexte d'exécution (par exemple, à Dispatchers.IO pour les opérations d'entrée/sortie) et exécute un bloc de code, retournant le résultat.
Exemple :
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("Tâche dans launch")
}
val result = async {
delay(500)
42
}
println("Résultat de async : ${result.await()}")
}