Sobes.tech
Junior — Middle

Qu'est-ce que les coroutines et quelle conception mettent-elles en œuvre en programmation?

sobes.tech IA

Réponse de l'IA

Les coroutines sont des threads légers ou des fonctions qui peuvent suspendre leur exécution et la reprendre plus tard, permettant d’écrire un code asynchrone et non bloquant de manière plus simple et compréhensible.

Elles implémentent le concept de multitâche coopératif, où la gestion entre coroutines est explicitement contrôlée, et non forcée par le système d’exploitation. Cela permet d’utiliser efficacement les ressources et de simplifier la gestion de l’asynchronie.

Exemple en Kotlin (Android) :

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("Coroutine terminée")
    }
    println("Programme lancé")
}

Ici, launch démarre une coroutine qui se suspend pendant 1 seconde sans bloquer le thread principal.