Junior — Middle
In che modo avviene l'interazione tra le goroutine nel linguaggio di programmazione?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Go, l'interazione tra goroutine avviene generalmente tramite canali (channels). I canali consentono di trasmettere dati in modo sicuro tra goroutine, garantendo sincronizzazione e scambio di messaggi.
Esempio di utilizzo di un canale:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "pronto"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Oltre ai canali, si possono usare altri meccanismi di sincronizzazione, come il mutex del pacchetto sync, ma i canali sono considerati il modo idiomatico di comunicare tra goroutine in Go.