Sobes.tech
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.