Sobes.tech
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.