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("Времето за изпълнение изтече")
}
}
По този начин можете да контролирате продължителността на корутините и да предотвратите блокиране или прекалено дълги операции.