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