Sobes.tech
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.