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("დრო ამოიწურა")
    }
}

ამ გზით შეგიძლიათ აკონტროლოთ კორუტინების ხანგრძლივობა და თავიდან აიცილოთ გადაკეტვა ან ძალიან გრძელი ოპერაციები.