Junior — Middle
Hoe kun je een tijdslimiet instellen voor coroutines in je project?
sobes.tech AI
Antwoord van AI
Om de uitvoeringstijd van coroutines in Kotlin te beperken, kun je de functies withTimeout of withTimeoutOrNull uit de kotlinx.coroutines-bibliotheek gebruiken. Deze stellen je in staat om een maximale uitvoeringstijd voor een codeblok in te stellen, en als de coroutine niet binnen deze tijd voltooid is, wordt respectievelijk een TimeoutCancellationException gegooid of null geretourneerd.
Voorbeeld:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // limiet van 1000 milliseconden
repeat(5) { i ->
println("Iteratie $i")
delay(300L) // simulatie van werk
}
}
} catch (e: TimeoutCancellationException) {
println("Uitvoertijd is verlopen")
}
}
Op deze manier kun je de duur van coroutines controleren en vastlopen of te lange operaties voorkomen.