Junior — Middle
Wie werden parallele Berechnungen in der Programmiersprache Go umgesetzt?
sobes.tech KI
Antwort von AI
In der Programmiersprache Go werden parallele Berechnungen mit Goroutines (goroutines) und Kanälen (channels) umgesetzt.
Goroutines sind leichte Threads, die mit dem Schlüsselwort go gestartet werden. Sie ermöglichen die asynchrone und parallele Ausführung von Funktionen.
Beispiel für paralleles Starten von zwei Funktionen:
func aufgabe(id int) {
fmt.Printf("Aufgabe %d gestartet\n", id)
// Arbeit simulieren
time.Sleep(time.Second)
fmt.Printf("Aufgabe %d beendet\n", id)
}
func main() {
go aufgabe(1)
go aufgabe(2)
time.Sleep(2 * time.Second) // damit die Goroutines abschließen können
}
Kanäle werden zur Synchronisation und zum Datenaustausch zwischen Goroutines verwendet, was einen sicheren Informationsaustausch ohne Sperren ermöglicht.
Auf diese Weise bietet Go einfache und effiziente Mittel zur Organisation paralleler Berechnungen.