Junior — Middle
Как се осъществява взаимодействието между горутините в езика за програмиране?
sobes.tech AI
Отговор от AI
В езика Go взаимодействието между горутините обикновено се осъществява чрез канали (channels). Каналите позволяват безопасно предаване на данни между горутините, осигурявайки синхронизация и обмен на съобщения.
Пример за използване на канал:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "готово"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Освен каналите, могат да се използват и други механизми за синхронизация, като mutex от пакета sync, но каналите се считат за идиоматичния начин за комуникация между горутините в Go.