Sobes.tech
Junior — Middle

Hogyan lehet időkorlátot beállítani a korutinok futására a projektedben?

sobes.tech MI

Válasz az MI-től

A Kotlinban a coroutine-ok futási idejének korlátozására használhatod a kotlinx.coroutines könyvtár withTimeout vagy withTimeoutOrNull függvényeit. Ezek lehetővé teszik, hogy maximális időt adj meg egy kódrészlet futására, és ha a coroutine nem fejeződik be ezen idő alatt, akkor TimeoutCancellationException kivétel keletkezik vagy null érték kerül visszaadásra.

Példa:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // 1000 milliszekundumos korlát
            repeat(5) { i ->
                println("Iteráció $i")
                delay(300L) // munka szimulálása
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Futási idő lejárt")
    }
}

Így kontrollálhatod a coroutine-ok futási idejét és elkerülheted a lefagyásokat vagy a túl hosszú műveleteket.