Junior — Middle
¿Cómo se puede establecer un límite de tiempo de ejecución para las corutinas en su proyecto?
sobes.tech AI
Respuesta de la IA
Para limitar el tiempo de ejecución de las corutinas en Kotlin, puedes usar la función withTimeout o withTimeoutOrNull de la biblioteca kotlinx.coroutines. Estas permiten establecer un tiempo máximo para la ejecución de un bloque de código, y si la corutina no termina en ese tiempo, se lanzará una excepción TimeoutCancellationException o se devolverá null, respectivamente.
Ejemplo:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // límite de 1000 milisegundos
repeat(5) { i ->
println("Iteración $i")
delay(300L) // simulación de trabajo
}
}
} catch (e: TimeoutCancellationException) {
println("El tiempo de ejecución ha expirado")
}
}
De esta forma, puedes controlar la duración de las corutinas y evitar bloqueos o operaciones demasiado largas.