Sobes.tech
Junior — Middle

Жобада корутиннің орындалу уақытына шектеу қоюдың қандай жолдары бар?

sobes.tech AI

AI-дан жауап

Kotlin-те корутиндердің орындалу уақытын шектеу үшін, сіз withTimeout немесе withTimeoutOrNull функцияларын kotlinx.coroutines кітапханасынан пайдалана аласыз. Олар код блогының ең жоғары орындалу уақытын орнатады, және егер корутина бұл уақыт ішінде аяқталмаса, TimeoutCancellationException қателігі тасталады немесе null қайтарылады, сәйкесінше.

Мысал:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // 1000 миллисекунд шегі
            repeat(5) { i ->
                println("Итерация $i")
                delay(300L) // жұмыс имитациясы
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Уақыт аяқталды")
    }
}

Осылайша, сіз корутиндердің орындалу ұзақтығын бақылап, іркілістер мен тым ұзақ операцияларды болдырмай аласыз.