Kapitel 3. Go's Gleichzeitigkeits-Bausteine

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In diesem Kapitel besprechen wir die zahlreichen Funktionen von Go, die die Gleichzeitigkeit unterstützen. Am Ende dieses Kapitels solltest du die Syntax, die Funktionen und die Pakete, die dir zur Verfügung stehen, sowie deren Funktionalität gut verstehen.

Goroutinen

Goroutinen sind eine der grundlegendsten Organisationseinheiten in einem Go-Programm. Deshalb ist es wichtig, dass wir verstehen, was sie sind und wie sie funktionieren. Tatsächlich hat jedes Go-Programm mindestens eine Goroutine: die Hauptgoroutine, die automatisch erstellt und gestartet wird, wenn der Prozess beginnt. In fast jedem Programm wirst du wahrscheinlich früher oder später zu einer Goroutine greifen, um deine Probleme zu lösen. Was sind sie also?

Vereinfacht ausgedrückt, ist eine Goroutine eine Funktion, die gleichzeitig (zur Erinnerung: nicht unbedingt parallel!) mit anderem Code ausgeführt wird. Du kannst eine Goroutine einfach starten, indem du das Schlüsselwort go vor eine Funktion setzt:

func main() {
    go sayHello()
    // continue doing other things
}

func sayHello() {
    fmt.Println("hello")
}

Anonyme Funktionen funktionieren auch! Hier ist ein Beispiel, das dasselbe tut wie das vorherige Beispiel. Anstatt jedoch eine Goroutine aus einer Funktion zu erstellen, erstellen wir eine Goroutine aus einer anonymen Funktion:

go func

Get Gleichzeitigkeit in Go now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.