Junior — Middle
Cosa sono le coroutine e quale concetto implementano nella programmazione?
sobes.tech AI
Risposta dell'AI
Le coroutines sono thread leggeri o funzioni che possono sospendere la loro esecuzione e riprenderla più tardi, consentendo di scrivere codice asincrono e non bloccante in modo più semplice e comprensibile.
Implementano il concetto di multitasking cooperativo, dove il controllo tra le coroutines è esplicito e non imposto dal sistema operativo. Questo permette di utilizzare le risorse in modo efficiente e semplifica il lavoro con l’asincronia.
Esempio in Kotlin (Android):
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("Coroutine terminata")
}
println("Programma avviato")
}
Qui, launch avvia una coroutine che si sospende per 1 secondo senza bloccare il thread principale.