Sobes.tech
Junior — Middle

Como pode definir um limite de tempo de execução para as corutinas no seu projeto?

sobes.tech IA

Resposta da IA

Para limitar o tempo de execução das corutinas em Kotlin, pode usar a função withTimeout ou withTimeoutOrNull da biblioteca kotlinx.coroutines. Estas permitem definir um tempo máximo de execução para um bloco de código, e se a corutina não terminar dentro desse tempo, será lançada uma exceção TimeoutCancellationException ou será retornado null, respetivamente.

Exemplo:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // limite de 1000 milissegundos
            repeat(5) { i ->
                println("Iteração $i")
                delay(300L) // simulação de trabalho
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Tempo de execução esgotado")
    }
}

Assim, pode controlar a duração das corutinas e evitar bloqueios ou operações demasiado longas.