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.