Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes
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.

1146898327
Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes
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.

64.99 In Stock
Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes

Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes

by Christian Maurer
Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes

Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes

by Christian Maurer

Paperback(Second Edition 2025)

$64.99 
  • SHIP THIS ITEM
    In stock. Ships in 2-4 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

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.


Product Details

ISBN-13: 9783662709283
Publisher: Springer Berlin Heidelberg
Publication date: 07/03/2025
Edition description: Second Edition 2025
Pages: 424
Product dimensions: 6.61(w) x 9.45(h) x (d)

About the Author

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.

Table of Contents

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.

From the B&N Reads Blog

Customer Reviews