Junior — Middle
Quali metodi di esecuzione dei compiti nelle Coroutines conosci?
sobes.tech AI
Risposta dell'AI
In Kotlin Coroutines, le attività possono essere eseguite in diversi modi:
-
launch — avvia una nuova coroutine che viene eseguita in parallelo e non restituisce risultato. Usata per attività in background dove il risultato non è necessario.
-
async — avvia una coroutine che restituisce un risultato sotto forma di Deferred, permettendo di ottenere il risultato tramite await(). Adatta per calcoli paralleli con risultato.
-
runBlocking — blocca il thread corrente fino al completamento della coroutine, spesso usata in funzioni main o nei test.
-
withContext — cambia il contesto di esecuzione (ad esempio, a Dispatchers.IO per operazioni di input/output) e esegue un blocco di codice, restituendo il risultato.
Esempio:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("Compito in launch")
}
val result = async {
delay(500)
42
}
println("Risultato di async: ${result.await()}")
}