Junior — Middle
Akým spôsobom sa v programovacom jazyku realizuje interakcia medzi gorutinami?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa interakcie medzi gorutinami zvyčajne vykonávajú cez kanály (channels). Kanály umožňujú bezpečný prenos dát medzi gorutinami, zabezpečujúc synchronizáciu a výmenu správ.
Príklad použitia kanála:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "hotovo"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Okrem kanálov je možné použiť aj iné mechanizmy synchronizácie, napríklad mutex z balíka sync, no kanály sú považované za idiomatický spôsob komunikácie medzi gorutinami v Go.