Dieses Buch führt in die Nichtsequentielle und Verteilte Programmierung mit Go ein und stellt grundlegende Konzepte zur Synchronisation und Kommunikation nebenläufiger Prozesse systematisch dar. Dazu zählen unter anderem Schlösser, Semaphore, Fairness und Verklemmungen, Monitore sowie der lokale und netzweite Botschaftenaustausch. Um Lesern die Konzepte nahezubringen, greift der Autor immer wieder die gleichen klassischen Beispiele auf. Das erleichtert das Lernen, denn die vorgestellten Konzepte lassen sich auf diese Weise besser mit den Sprachmitteln vergleichen. Das Buch folgt in seiner Grundstruktur den beiden Vorauflagen, enthält aber in der aktuellen, dritten Auflage einen neuen Teil zur Verteilten Programmierung mit drei Klassen von Algorithmen. Neben Netzwerken als Graphen werden dort unter anderem Algorithmen behandelt, die die Auswahl eines Leiters im Netzwerk ermöglichen oder das Kennenlernen des vollständigen Netzwerks, wenn jeder Beteiligte anfangs nur seine Nachbarn kennt. Die Algorithmen sind in der Programmiersprache Go formuliert. Mit dieser Sprache lassen sich zahlreiche Synchronisationskonzepte ausdrücken. Go bietet aufgrund der einfachen Syntax außerdem den Vorteil, dass auch Leser ohne Vorkenntnisse den grundlegenden Konzepten folgen können. In den Abschnitten zu Schlössern, Semaphoren und Monitoren werden darüber hinaus auch einige grundlegende Ansätze zur Programmierung in C und Java vorgestellt. Das Buch richtet sich an Studierende der Informatik und wurde für die Neuauflage klarer gegliedert. Zahlreiche Abschnitte wurden zudem teils erheblich erweitert. So wurden zusätzliche Algorithmen in das Kapitel über Schlösser aufgenommen und ein kurzes Kapitel übergrundlegende Aspekte der Softwaretechnik und deren Realisierung in Go eingefügt. Die Abschnitte über Semaphore und Monitore wurden um das Problem der Zigarettenraucher erweitert und den universellen Synchronisationsklassen sind nun eigene Kapitel gewidmet. Sämtliche Quelltexte sind online verfügbar.