Sobes.tech
Junior — Middle

Kaip vyksta sąveika tarp gorutinų programavimo kalboje?

sobes.tech AI

Atsakymas iš AI

Go kalboje, gorutinos tarpusavio sąveika paprastai vykdoma per kanalus (channels). Kanalai leidžia saugiai perduoti duomenis tarp gorutinų, užtikrindami sinchronizaciją ir žinučių keitimą.

Pavyzdys, kaip naudoti kanalą:

package main

import (
    "fmt"
)

func worker(ch chan string) {
    ch <- "paruošta"
}

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

Be kanalų, galima naudoti ir kitus sinchronizacijos mechanizmus, pavyzdžiui, mutex iš package sync, tačiau kanalai laikomi idiomatišku būdu bendrauti tarp gorutinų Go kalboje.