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("Уақыт аяқталды")
}
}
Осылайша, сіз корутиндердің орындалу ұзақтығын бақылап, іркілістер мен тым ұзақ операцияларды болдырмай аласыз.