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ā.