Junior — Middle
Na koji način se ostvaruje interakcija između gorutina u programskom jeziku?
sobes.tech АИ
Одговор од АИ
U jeziku Go, interakcija između gorutina obično se vrši putem kanala (channels). Kanali omogućavaju siguran prenos podataka između gorutina, obezbeđujući sinhronizaciju i razmenu poruka.
Primer korišćenja kanala:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "spreman"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Pored kanala, mogu se koristiti i drugi mehanizmi za sinhronizaciju, poput mutexa iz paketa sync, ali se kanali smatraju idiomatskim načinom komunikacije između gorutina u Go.