Junior — Middle
Kaip nustatyti laiko apribojimą savo projekte naudojamoms korutinoms?
sobes.tech AI
Atsakymas iš AI
Norint apriboti Kotlin korutinų vykdymo laiką, galite naudoti withTimeout arba withTimeoutOrNull funkcijas iš kotlinx.coroutines bibliotekos. Šios funkcijos leidžia nustatyti maksimalų kodo bloko vykdymo laiką, ir jei korutina nebaigiama per šį laiką, bus išmesta TimeoutCancellationException arba grąžintas null.
Pavyzdys:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // limitas 1000 milisekundžių
repeat(5) { i ->
println("Iteracija $i")
delay(300L) // darbo imitacija
}
}
} catch (e: TimeoutCancellationException) {
println("Vykdymo laikas pasibaigė")
}
}
Šiuo būdu galite kontroliuoti korutinų trukmę ir išvengti užstringimo ar per ilgų operacijų.