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("Вақти иҷро тамом шуд")
    }
}

Бо ин роҳ, шумо метавонед дарозии корутинҳоро назорат кунед ва аз даргирӣ ё амалиётҳои хеле дароз пешгирӣ кунед.