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.