Sobes.tech
Junior — Middle

Come si può impostare un limite di tempo di esecuzione per le coroutine nel proprio progetto?

sobes.tech AI

Risposta dell'AI

Per limitare il tempo di esecuzione delle coroutine in Kotlin, puoi usare la funzione withTimeout o withTimeoutOrNull della libreria kotlinx.coroutines. Queste consentono di impostare un tempo massimo di esecuzione per un blocco di codice, e se la coroutine non termina entro questo tempo, verrà sollevata un'eccezione TimeoutCancellationException o verrà restituito null, rispettivamente.

Esempio:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // limite di 1000 millisecondi
            repeat(5) { i ->
                println("Iterazione $i")
                delay(300L) // simulazione di lavoro
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Tempo di esecuzione scaduto")
    }
}

In questo modo, puoi controllare la durata delle coroutine ed evitare blocchi o operazioni troppo lunghe.