Junior — Middle
Ako môžete nastaviť časové obmedzenie pre korutiny vo svojom projekte?
sobes.tech AI
Odpoveď od AI
Na obmedzenie času vykonávania korutín v Kotlin môžete použiť funkcie withTimeout alebo withTimeoutOrNull z knižnice kotlinx.coroutines. Tieto umožňujú nastaviť maximálny čas na vykonanie bloku kódu, a ak korutina neskončí v tomto čase, bude vyvolaná výnimka TimeoutCancellationException alebo bude vrátené null.
Príklad:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // limit 1000 milisekúnd
repeat(5) { i ->
println("Iterácia $i")
delay(300L) // simulácia práce
}
}
} catch (e: TimeoutCancellationException) {
println("Čas vypršal")
}
}
Týmto spôsobom môžete kontrolovať dĺžku behu korutín a zabrániť zaseknutiu alebo príliš dlhým operáciám.