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