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.