Sobes.tech
Назад к вопросам
Junior — Middle
80

Каким образом можно установить ограничение по времени выполнения для корутин в своем проекте?

Компании, где спрашивали
X5 DigitalX5 Digital

Ответ от нейросети

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("Время выполнения истекло")
    }
}

Таким образом, можно контролировать длительность выполнения корутин и предотвращать зависания или слишком долгие операции.