Sobes.tech
Junior — Middle

Loyihangizda korutinalar uchun bajarilish vaqtini cheklashni qanday o'rnatish mumkin?

sobes.tech AI

AIdan javob

Kotlin'da koroutinlarning bajarilish vaqtini cheklash uchun kotlinx.coroutines kutubxonasidan withTimeout yoki withTimeoutOrNull funksiyalaridan foydalanishingiz mumkin. Bu funksiyalar kod blokining maksimal bajarilish vaqtini belgilashga imkon beradi, va agar koroutine bu vaqt ichida tugamasa, TimeoutCancellationException istisnasi chiqariladi yoki null qaytariladi.

Misol:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // 1000 millisekund cheklov
            repeat(5) { i ->
                println("Takrorlash $i")
                delay(300L) // ishni simulyatsiya qilish
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Vaqt tugadi")
    }
}

Shu tarzda, koroutinlarning davomiyligini nazorat qilish va blokirovkalarni yoki juda uzoq davom etadigan operatsiyalarni oldini olish mumkin.