Sobes.tech
Junior — Middle

Kā notiek saskarsme starp gorutinām programmēšanas valodā?

sobes.tech AI

Atbilde no AI

Go valodā, sadarbība starp gorutīnām parasti notiek caur kanāliem (channels). Kanāli ļauj droši pārsūtīt datus starp gorutīnām, nodrošinot sinhronizāciju un ziņojumu apmaiņu.

Piemērs, kā izmantot kanālu:

package main

import (
    "fmt"
)

func worker(ch chan string) {
    ch <- "gatavs"
}

func main() {
    ch := make(chan string)
    go worker(ch)
    msg := <-ch
    fmt.Println(msg)
}

Papildus kanāliem, var izmantot arī citus sinhronizācijas mehānismus, piemēram, mutex no package sync, bet kanāli tiek uzskatīti par idiomātisku veidu, kā sazināties starp gorutīnām Go valodā.