Nichtsequentielle und verteilte Programmierung mit Go : Synchronisation nebenläufiger Prozesse: Kommunikation Kooperation Konkurrenz Einführung Schlösser Pakete Interfaces und abstrakte Datentypen Semaphore Der Staffelstab Algorithmus Universelle kritische Abschnitte Fairness Verklemmungen Monitore Universelle Monitore Botschaftenaustausch Vergleich der bisherigen Sprachkonstrukte Netzweiter Botschaftenaustausch Universelle ferne Monitore Netzwerke als Graphen Pulsschlag Algorithmen Traversierungsalgorithmen Auswahlalgorithmen Dieses Buch führt nach einem kurzen Kapitel über grundlegende Aspekte der Softwaretechnik und deren Realisierung in Go in die Nichtsequentielle und Verteilte Programmierung mit Go ein. Es stellt grundlegende Konzepte zur Synchronisation und Kommunikation nebenläufiger Prozesse systematisch dar. Dazu zählen unter anderem Schlösser Semaphore Fairness und Verklemmungen Monitore lokaler und netzweiter Botschaftenaustausch Netzwerke als Graphen Erkundung von Netzwerken verteilte Tiefen und Breitensuche und die Auswahl eines Leiters in Netzwerken. Um Lesern die Konzepte nahezubringen greift der Autor klassische Beispiele auf. Das erleichtert das Lernen denn die vorgestellten Konzepte lassen sich auf diese Weise besser mit den Sprachmitteln vergleichen. Die Algorithmen sind in der Programmiersprache Go formuliert mit der sich zahlreiche Synchronisationskonzepte ausdrücken lassen. Go bietet aufgrund der einfachen Syntax außerdem den Vorteil dass auch Leserinnen und Leser ohne Vorkenntnisse den grundlegenden Konzepten folgen können. In den Kapiteln zu Schlössern Semaphoren Monitoren und zum netzweiten Botschaftenaustausch werden darüber hinaus auch einige grundlegende Ansätze zur Programmierung in C und Java vorgestellt. Sämtliche Quelltexte sind online verfügbar. In der 4. Auflage des Lehrbuchs das sich an Studierende der Informatik richtet wurden einige Fehler korrigiert kleinere Erweiterungen aufgenommen sowie Anpassungen aufgrund einer Änderung an Go vorgenommen. Der Autor Dipl. Math. Dr.rer.nat. Christian Maurer studierte in Berlin und promovierte in Mathematik an der Universität Bremen. Er war längere Zeit als Wiss. Assistent und Assistenzprofessor für Mathematik an der Freien Universität Berlin dann kurze Zeit als Fachleiter für Informatik an einem Berliner Gymnasium und schließlich bis zur Pensionierung als Leiter der Lehrerweiterbildung am Fachbereich Mathematik und Informatik der Freien Universität Berlin tätig. Während dieser Zeit – und auch noch danach im Ruhestand – war er Lehrbeauftragter für Informatik