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