Senior
Cos'è una goroutine e come funziona?
sobes.tech AI
Risposta dell'AI
Una goroutine è un thread di esecuzione leggero nel linguaggio Go, gestito dal runtime di Go anziché dal sistema operativo. Permette di eseguire funzioni in parallelo con un minimo consumo di memoria e tempo di cambio di contesto.
Quando si chiama una funzione con la parola chiave go, viene creata una nuova goroutine che viene eseguita contemporaneamente ad altre. Il runtime di Go distribuisce automaticamente le goroutine tra i thread disponibili del sistema operativo.
Esempio:
package main
import (
"fmt"
"time"
)
func sayHello() {
fmt.Println("Ciao dalla goroutine")
}
func main() {
go sayHello() // avvia la goroutine
time.Sleep(time.Second) // aspetta affinché la goroutine possa completarsi
}
Le goroutine sono efficienti per implementare compiti concorrenti, come l'elaborazione di richieste, calcoli paralleli, ecc.