Sobes.tech
Junior — Middle

Akým spôsobom sa v programovacom jazyku realizuje interakcia medzi gorutinami?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa interakcie medzi gorutinami zvyčajne vykonávajú cez kanály (channels). Kanály umožňujú bezpečný prenos dát medzi gorutinami, zabezpečujúc synchronizáciu a výmenu správ.

Príklad použitia kanála:

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)
}

Okrem kanálov je možné použiť aj iné mechanizmy synchronizácie, napríklad mutex z balíka sync, no kanály sú považované za idiomatický spôsob komunikácie medzi gorutinami v Go.