Sobes.tech
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.