Junior — Middle
Come si avvia una funzione sospesa in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, una funzione sospesa (suspend function) non viene avviata direttamente, può essere chiamata solo da un'altra funzione sospesa o da una coroutine. Per avviare una funzione sospesa, è necessario creare una coroutine usando strutture come launch o async della libreria kotlinx.coroutines.
Esempio di avvio di una funzione sospesa:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("Lavoro completato")
}
fun main() = runBlocking {
launch {
doWork() // avvio della funzione sospesa all'interno di una coroutine
}
}
Qui, runBlocking crea una coroutine nel thread principale, e launch avvia una nuova coroutine in cui viene chiamata la funzione sospesa doWork. In questo modo, la funzione sospesa viene eseguita all'interno di una coroutine.