000 | 04956nam a22005535i 4500 | ||
---|---|---|---|
001 | 978-3-658-29782-4 | ||
003 | DE-He213 | ||
005 | 20240423125357.0 | ||
007 | cr nn 008mamaa | ||
008 | 210119s2021 gw | s |||| 0|eng d | ||
020 |
_a9783658297824 _9978-3-658-29782-4 |
||
024 | 7 |
_a10.1007/978-3-658-29782-4 _2doi |
|
050 | 4 | _aQA76.6-76.66 | |
072 | 7 |
_aUM _2bicssc |
|
072 | 7 |
_aCOM051000 _2bisacsh |
|
072 | 7 |
_aUM _2thema |
|
082 | 0 | 4 |
_a005.11 _223 |
100 | 1 |
_aMaurer, Christian. _eauthor. _4aut _4http://id.loc.gov/vocabulary/relators/aut |
|
245 | 1 | 0 |
_aNonsequential and Distributed Programming with Go _h[electronic resource] : _bSynchronization of Concurrent Processes: Communication - Cooperation - Competition / _cby Christian Maurer. |
250 | _a1st ed. 2021. | ||
264 | 1 |
_aWiesbaden : _bSpringer Fachmedien Wiesbaden : _bImprint: Springer, _c2021. |
|
300 |
_aXXIV, 404 p. 34 illus., 2 illus. in color. _bonline resource. |
||
336 |
_atext _btxt _2rdacontent |
||
337 |
_acomputer _bc _2rdamedia |
||
338 |
_aonline resource _bcr _2rdacarrier |
||
347 |
_atext file _bPDF _2rda |
||
505 | 0 | _aIntroduction -- 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 -- Leader Election Algorithms -- Further Literature. | |
520 | _aAfter 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 exchange, 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 chapterson locks, semaphores, monitors and network-wide message exchange also present some basic approaches to programming in C and Java. All source texts are available online. In the 4th edition of the textbook, which is aimed at students of computer science, some errors have been corrected, smaller extensions have been included and adjustments due to a change to Go have been made. The author Dipl. Math. Dr.rer.nat. Christian Maurer studied in Berlin and earned his doctorate in mathematics at the University of Bremen. He 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 finally, until his retirement, as head of teacher training at the Department of Mathematics and Computer Science at Freie Universität Berlin. During this time - and even after his retirement - he was a lecturer for computer science. This book isa translation of the original German edition „Nichtsequentielle und Verteilte Programmierung mit Go“ by Christian Maurer, published by Springer Fachmedien Wiesbaden in 2019. The translation was done with the help of artificial intelligence (machine translation by the service DeepL.com). A subsequent human revision was done primarily in terms of content, so that the book will read stylistically different from a conventional translation. Springer Nature works continuously to further the development of tools for the production of books and on the related technologies to support the authors. | ||
650 | 0 | _aComputer programming. | |
650 | 0 | _aCompilers (Computer programs). | |
650 | 0 |
_aArtificial intelligence _xData processing. |
|
650 | 0 | _aComputer science. | |
650 | 0 | _aAlgorithms. | |
650 | 1 | 4 | _aProgramming Techniques. |
650 | 2 | 4 | _aCompilers and Interpreters. |
650 | 2 | 4 | _aData Science. |
650 | 2 | 4 | _aComputer Science Logic and Foundations of Programming. |
650 | 2 | 4 | _aAlgorithms. |
710 | 2 | _aSpringerLink (Online service) | |
773 | 0 | _tSpringer Nature eBook | |
776 | 0 | 8 |
_iPrinted edition: _z9783658297817 |
776 | 0 | 8 |
_iPrinted edition: _z9783658297831 |
856 | 4 | 0 | _uhttps://doi.org/10.1007/978-3-658-29782-4 |
912 | _aZDB-2-SCS | ||
912 | _aZDB-2-SXCS | ||
942 | _cSPRINGER | ||
999 |
_c177277 _d177277 |