Sobes.tech
Junior — Middle

Comment peut-on définir une limite de temps d'exécution pour les coroutines dans son projet?

sobes.tech IA

Réponse de l'IA

Pour limiter le temps d'exécution des coroutines en Kotlin, vous pouvez utiliser la fonction withTimeout ou withTimeoutOrNull de la bibliothèque kotlinx.coroutines. Elles permettent de définir un temps maximum d'exécution pour un bloc de code, et si la coroutine ne se termine pas dans ce délai, une exception TimeoutCancellationException sera levée ou null sera renvoyé, respectivement.

Exemple :

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // limite de 1000 millisecondes
            repeat(5) { i ->
                println("Itération $i")
                delay(300L) // simulation de travail
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Le délai d'exécution est écoulé")
    }
}

Ainsi, vous pouvez contrôler la durée d'exécution des coroutines et éviter les blocages ou opérations trop longues.