Sobes.tech
Junior — Middle

Жобадагы корутиндердин иштөө мөөнөтүн кантип чектөөгө болот?

sobes.tech AI

AIден жооп

Kotlin'de 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 atiladi 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.