Nonsequential and Distributed Programming with Go: Synchronization of Concurrent Processes
暫譯: 使用 Go 進行非順序與分散式程式設計:並發過程的同步
Maurer, Christian
- 出版商: Springer
- 出版日期: 2025-07-03
- 售價: $2,260
- 貴賓價: 9.5 折 $2,147
- 語言: 英文
- 頁數: 424
- 裝訂: Quality Paper - also called trade paper
- ISBN: 3662709287
- ISBN-13: 9783662709283
海外代購書籍(需單獨結帳)
商品描述
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.
商品描述(中文翻譯)
在簡短介紹軟體工程的基本概念及其在 Go 中的實現後,本書將介紹非順序和分散式編程的概念。它系統性地呈現了並發過程的同步和通信的基本概念,包括鎖、信號量、公平性和死鎖、監視器、本地和網路範圍的訊息傳遞、將網路視為圖形、網路探索、分散式深度優先和廣度優先搜尋,以及在網路中選擇領導者。為了讓讀者熟悉這些概念,作者始終使用相同的經典範例。這使得學習變得更容易,因為所呈現的概念可以更輕鬆地與語言資源進行比較。
這些演算法是用 Go 程式語言表達的,該語言可以用來表達許多同步概念。由於其簡單的語法,Go 也提供了優勢,使得沒有先前知識的讀者能夠理解基本概念。關於鎖、信號量、監視器和網路範圍訊息傳遞的章節也介紹了一些在 C 和 Java 中編程的基本方法。所有的源代碼都可以在線獲得。
除了若干錯誤修正和小更新外,在第二版中,納米宇宙 nU 被替換為微宇宙 μU。這使得在許多地方可以實現美麗的動畫,而納米宇宙因缺乏必要的輸入和輸出支持而無法實現這些動畫;例如在公平性、訊息、遠程監視器、遍歷和選舉的章節中。
作者簡介
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.
作者簡介(中文翻譯)
克里斯蒂安·毛爾(Christian Maurer)在柏林自由大學(Freie Universität Berlin)擔任研究助理和數學助理教授多年,之後短暫擔任柏林一所高中的計算機科學主任,最終在退休之前擔任柏林自由大學數學與計算機科學系的教師培訓主任。在這段時間內——甚至在他退休之後——他仍然擔任計算機科學的講師。