Sobes.tech
Junior — Middle

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()}")
}