Back to questions
X5 Digital
Junior — Middle
81
Каким образом можно установить ограничение по времени выполнения для корутин в своем проекте?
Companies where asked
Answer from AI
sobes.tech AI
Для ограничения времени выполнения корутин в Kotlin можно использовать функцию withTimeout или withTimeoutOrNull из библиотеки kotlinx.coroutines. Они позволяют задать максимальное время выполнения блока кода, и если корутина не завершится за это время, будет выброшено исключение TimeoutCancellationException или вернётся null соответственно.
Пример:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // ограничение в 1000 миллисекунд
repeat(5) { i ->
println("Iteration $i")
delay(300L) // имитация работы
}
}
} catch (e: TimeoutCancellationException) {
println("Время выполнения истекло")
}
}
Таким образом, можно контролировать длительность выполнения корутин и предотвращать зависания или слишком долгие операции.