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("დრო ამოიწურა")
}
}
ამ გზით შეგიძლიათ აკონტროლოთ კორუტინების ხანგრძლივობა და თავიდან აიცილოთ გადაკეტვა ან ძალიან გრძელი ოპერაციები.