Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Beschreibung

After a short chapter on basic aspects of software engineering and its realization in Go, this book introduces to nonsequential and distributed programming with Go. It systematically presents basic concepts for the synchronization and communication of concurrent processes. These include locks, semaphores, fairness and deadlocks, monitors, local and network-wide message passing, networks as graphs, network exploration, distributed depth and breadth first search, and the selection of a leader in networks. In order to make readers familiar with the concepts, the author always takes up the same classic examples. This makes learning easier, because the concepts presented can be compared more easily with the language resources.

The algorithms are formulated in the Go programming language, which can be used to express numerous synchronization concepts. Due to its simple syntax, Go also offers the advantage that readers without prior knowledge can follow the basic concepts. The chapters on locks, semaphores, monitors and network-wide message passing also present some basic approaches to programming in C and Java. All source texts are available online.

Besides a number of error corrections and smaller updates, in this second edition the nanouniverse nU is replaced with the microuniverse μU. This allows for beautiful animations in many places, which are not possible with the nanouniverse due to a lack of the necessary support for inputs and outputs; e.g. in the chapters on fairness, messages, farMonitors, traversals and election.

After a short chapter on basic aspects of software engineering and its realization in Go, this book introduces to nonsequential and distributed programming with Go. It systematically presents basic concepts for the synchronization and communication of concurrent processes. These include locks, semaphores, fairness and deadlocks, monitors, local and network-wide message passing, networks as graphs, network exploration, distributed depth and breadth first search, and the selection of a leader in networks. In order to make readers familiar with the concepts, the author always takes up the same classic examples. This makes learning easier, because the concepts presented can be compared more easily with the language resources.

The algorithms are formulated in the Go programming language, which can be used to express numerous synchronization concepts. Due to its simple syntax, Go also offers the advantage that readers without prior knowledge can follow the basic concepts. The chapters on locks, semaphores, monitors and network-wide message passing also present some basic approaches to programming in C and Java. All source texts are available online.

Besides a number of error corrections and smaller updates, in this second edition the nanouniverse nU is replaced with the microuniverse μU. This allows for beautiful animations in many places, which are not possible with the nanouniverse due to a lack of the necessary support for inputs and outputs; e.g. in the chapters on fairness, messages, farMonitors, traversals and election.

Über den Autor

Christian Maurer has worked for a long time as a research assistant and assistant professor of mathematics at Freie Universität Berlin, then for a short time as Head of Computer Science at a Berlin High School and eventually, until his retirement, as Head of Teacher Training at the Department of Mathematics and Computer Science at Freie Universität Berlin. During all this time - and even after his retirement - he was a lecturer for computer science.

Inhaltsverzeichnis

Introduction.- Packages, Interfaces and Abstract Datatypes - Locks - Semaphores.- The Baton Algorithm.- Universal Critical Sections.- Fairness.- Deadlocks.- Monitors - Universal Monitors.- Message Passing.- Comparison of the Previous Language Constructs.- Netwide Message Passing.- Universal Far Monitors.- Networks as Graphs.- Heartbeat Algorithms.- Traversing Algorithms.- Leader Election Algorithms.

Details
Erscheinungsjahr: 2025
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: xx
424 S.
32 s/w Illustr.
3 farbige Illustr.
424 p. 35 illus.
3 illus. in color.
ISBN-13: 9783662709283
ISBN-10: 3662709287
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Maurer, Christian
Auflage: Second Edition 2025
Hersteller: Springer-Verlag GmbH
Springer Berlin Heidelberg
Verantwortliche Person für die EU: Springer Verlag GmbH, Tiergartenstr. 17, D-69121 Heidelberg, juergen.hartmann@springer.com
Maße: 240 x 168 x 24 mm
Von/Mit: Christian Maurer
Erscheinungsdatum: 03.07.2025
Gewicht: 0,74 kg
Artikel-ID: 133582058

Ähnliche Produkte