Junior — Middle
Jakým způsobem je v programovacím jazyce zajištěna interakce mezi gorutinami?
sobes.tech AI
Odpověď od AI
V jazyce Go se obvykle interakce mezi gorutinami provádí přes kanály (channels). Kanály umožňují bezpečný přenos dat mezi gorutinami, zajišťují synchronizaci a výměnu zpráv.
Příklad použití kanálu:
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)
}
Kromě kanálů lze použít i jiné mechanismy synchronizace, například mutex z balíčku sync, ale kanály jsou považovány za idiomatický způsob komunikace mezi gorutinami v Go.