Junior — Middle
Jak nastavit časové omezení pro korutiny ve svém projektu?
sobes.tech AI
Odpověď od AI
Pro omezení doby běhu coroutine v Kotlinu můžete použít funkce withTimeout nebo withTimeoutOrNull z knihovny kotlinx.coroutines. Tyto funkce umožňují nastavit maximální dobu běhu bloku kódu, a pokud coroutine neskončí během této doby, bude vyhozena výjimka TimeoutCancellationException nebo bude vráceno null.
Příklad:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // omezení na 1000 milisekund
repeat(5) { i ->
println("Iterace $i")
delay(300L) // simulace práce
}
}
} catch (e: TimeoutCancellationException) {
println("Vypršel čas běhu")
}
}
Tímto způsobem můžete kontrolovat délku běhu coroutine a zabránit zaseknutí nebo příliš dlouhým operacím.