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