Sobes.tech
Junior — Middle

Wie kann man in seinem Projekt eine Laufzeitbegrenzung für Koroutinen festlegen?

sobes.tech KI

Antwort von AI

Um die Ausführungszeit von Koroutinen in Kotlin zu begrenzen, kannst du die Funktionen withTimeout oder withTimeoutOrNull aus der Bibliothek kotlinx.coroutines verwenden. Sie ermöglichen es, eine maximale Ausführungszeit für einen Codeblock festzulegen, und wenn die Koroutine diese Zeit nicht beendet, wird eine TimeoutCancellationException ausgelöst oder null zurückgegeben.

Beispiel:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // Begrenzung auf 1000 Millisekunden
            repeat(5) { i ->
                println("Iteration $i")
                delay(300L) // Arbeit simulieren
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Ausführungszeit abgelaufen")
    }
}

Auf diese Weise kannst du die Dauer der Koroutinen kontrollieren und Blockierungen oder zu lange laufende Operationen vermeiden.