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