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