Junior — Middle
Jak można ustawić ograniczenie czasu wykonania dla korutyn w swoim projekcie?
sobes.tech AI
Odpowiedź od AI
Aby ograniczyć czas wykonywania korutyn w Kotlinie, można użyć funkcji withTimeout lub withTimeoutOrNull z biblioteki kotlinx.coroutines. Pozwalają one ustawić maksymalny czas wykonania bloku kodu, a jeśli korutyna nie zakończy się w tym czasie, zostanie rzucony wyjątek TimeoutCancellationException lub zwrócone null, odpowiednio.
Przykład:
import kotlinx.coroutines.*
fun main() = runBlocking {
try {
withTimeout(1000L) { // ograniczenie do 1000 milisekund
repeat(5) { i ->
println("Iteracja $i")
delay(300L) // symulacja pracy
}
}
} catch (e: TimeoutCancellationException) {
println("Czas wykonania upłynął")
}
}
W ten sposób można kontrolować czas trwania korutyn i zapobiegać zawieszaniu się lub zbyt długim operacjom.