Sobes.tech
Junior — Middle

Cum se realizează interacțiunea între goroutines în limbajul de programare?

sobes.tech AI

Răspuns de la AI

În limbajul Go, interacțiunea între goroutines se realizează de obicei prin canale (channels). Canalele permit transmiterea sigură a datelor între goroutines, asigurând sincronizarea și schimbul de mesaje.

Exemplu de utilizare a unui canal:

package main

import (
    "fmt"
)

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

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

Pe lângă canale, se pot folosi și alte mecanisme de sincronizare, cum ar fi mutex din pachetul sync, dar canalele sunt considerate modalitatea idiomatică de comunicare între goroutines în Go.