Junior — Middle
Hoe worden parallelle berekeningen geïmplementeerd in de programmeertaal Go?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go worden parallelle berekeningen geïmplementeerd met behulp van goroutines (goroutines) en kanalen (channels).
Goroutines zijn lichte threads die worden gestart met het sleutelwoord go. Ze maken het mogelijk functies asynchroon en parallel uit te voeren.
Voorbeeld van het parallel starten van twee functies:
func taak(id int) {
fmt.Printf("Taak %d gestart\n", id)
// simulatie van werk
time.Sleep(time.Second)
fmt.Printf("Taak %d voltooid\n", id)
}
func main() {
go taak(1)
go taak(2)
time.Sleep(2 * time.Second) // zodat de goroutines kunnen afronden
}
Kanalen worden gebruikt voor synchronisatie en gegevensoverdracht tussen goroutines, wat een veilige uitwisseling van informatie mogelijk maakt zonder blokkades.
Op deze manier biedt Go eenvoudige en efficiënte middelen voor het organiseren van parallelle berekeningen.