Kapitel 12. Gleichzeitigkeit in Go

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

Gleichzeitigkeit ist der Begriff aus der Informatik für die Aufteilung eines einzelnen Prozesses in unabhängige Komponenten und die Festlegung, wie diese Komponenten Daten sicher gemeinsam nutzen. Die meisten Sprachen bieten Gleichzeitigkeit über eine Bibliothek mit Threads auf Betriebssystemebene, die Daten gemeinsam nutzen, indem sie versuchen, Sperren zu erhalten. Go ist anders. Sein Hauptmodell für Gleichzeitigkeit, das wohl berühmteste Merkmal von Go, basiert auf Communicating Sequential Processes (CSP). Diese Art der Gleichzeitigkeit wurde 1978 in einem Aufsatz von Tony Hoare beschrieben, dem Erfinder des Quicksort-Algorithmus. Die mit CSP implementierten Muster sind genauso leistungsfähig wie die Standardmuster, aber viel einfacher zu verstehen.

In diesem Kapitel erhältst du einen kurzen Überblick über die Funktionen, die das Rückgrat der Gleichzeitigkeit in Go bilden: Goroutinen, Channels und das Schlüsselwort select. Dann siehst du dir einige gängige Go-Gleichzeitigkeitsmuster an und erfährst, in welchen Situationen Techniken auf niedrigerer Ebene eine bessere Lösung darstellen.

Wann sollte man Gleichzeitigkeit nutzen?

Beginnen wir mit einem Wort der Warnung. Achte darauf, dass dein Programm von der Gleichzeitigkeit profitiert. Wenn neue Go-Entwicklerinnen und -Entwickler mit der Gleichzeitigkeit experimentieren, ...

Get Go lernen, 2. Auflage 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.