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("Времето за изпълнение изтече")
    }
}

По този начин можете да контролирате продължителността на корутините и да предотвратите блокиране или прекалено дълги операции.