Sobes.tech
Junior — Middle

Jakým způsobem je v programovacím jazyce zajištěna interakce mezi gorutinami?

sobes.tech AI

Odpověď od AI

V jazyce Go se obvykle interakce mezi gorutinami provádí přes kanály (channels). Kanály umožňují bezpečný přenos dat mezi gorutinami, zajišťují synchronizaci a výměnu zpráv.

Příklad použití kanálu:

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

Kromě kanálů lze použít i jiné mechanismy synchronizace, například mutex z balíčku sync, ale kanály jsou považovány za idiomatický způsob komunikace mezi gorutinami v Go.