Sobes.tech
Junior — Middle

Cum se poate stabili o limită de timp pentru execuția corutinelor în proiectul tău?

sobes.tech AI

Răspuns de la AI

Pentru a limita timpul de execuție al corutinelor în Kotlin, poți folosi funcțiile withTimeout sau withTimeoutOrNull din biblioteca kotlinx.coroutines. Acestea permit stabilirea unui timp maxim de execuție pentru un bloc de cod, iar dacă corutina nu se finalizează în acest timp, va fi aruncată o excepție TimeoutCancellationException sau se va returna null, respectiv.

Exemplu:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // limită de 1000 milisecunde
            repeat(5) { i ->
                println("Iterație $i")
                delay(300L) // simulare de muncă
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Timpul de execuție a expirat")
    }
}

Astfel, poți controla durata corutinelor și evita blocajele sau operațiile prea lungi.