Junior — Middle
Kako se ostvaruje interakcija između gorutina u Go?
sobes.tech АИ
Одговор од АИ
U jeziku Go, interakcija između gorutina se vrši putem kanala (channels). Kanali omogućavaju siguran prenos podataka između gorutina i njihovu sinhronizaciju.
Glavne tačke:
- Kanal se kreira pomoću
make(chan Tip). - Slanje u kanal:
ch <- vrednost. - Prijem iz kanala:
vrednost := <-ch. - Kanali mogu biti sa ili bez bafera.
Primer:
func main() {
ch := make(chan string)
go func() {
ch <- "zdravo iz gorutine"
}()
msg := <-ch
fmt.Println(msg)
}
Na ovaj način, kanali obezbeđuju sigurnu i pogodnu interakciju između paralelnih gorutina bez potrebe za korišćenjem muteksa ili drugih mehanizama zaključavanja.