Sobes.tech
Junior — Middle

Cum se implementează calculele paralele în limbajul Go?

sobes.tech AI

Răspuns de la AI

În limbajul Go, calculele paralele sunt implementate folosind goroutines (goroutines) și canale (channels).

Goroutine-urile sunt fire ușoare care sunt inițiate cu cuvântul cheie go. Ele permit executarea funcțiilor asincron și în paralel.

Exemplu de lansare paralelă a două funcții:

func sarcină(id int) {
    fmt.Printf("Sarcina %d a început\n", id)
    // simulare de muncă
    time.Sleep(time.Second)
    fmt.Printf("Sarcina %d s-a terminat\n", id)
}

func main() {
    go sarcină(1)
    go sarcină(2)
    time.Sleep(2 * time.Second) // pentru ca goroutine-urile să se termine
}

Canalele sunt folosite pentru sincronizare și transfer de date între goroutine-uri, ceea ce permite schimbul sigur de informații fără blocări.

Astfel, Go oferă mijloace simple și eficiente pentru organizarea calculelor paralele.