001434223 000__ 05208cam\a2200613\i\4500 001434223 001__ 1434223 001434223 003__ OCoLC 001434223 005__ 20230309003717.0 001434223 006__ m\\\\\o\\d\\\\\\\\ 001434223 007__ cr\nn\nnnunnun 001434223 008__ 210119s2021\\\\gw\a\\\\ob\\\\001\0\eng\d 001434223 019__ $$a1232278405$$a1241066538$$a1249944609$$a1255890707 001434223 020__ $$a9783658297824$$q(electronic bk.) 001434223 020__ $$a3658297824$$q(electronic bk.) 001434223 020__ $$z9783658297817 001434223 0247_ $$a10.1007/978-3-658-29782-4$$2doi 001434223 035__ $$aSP(OCoLC)1238204722 001434223 040__ $$aDCT$$beng$$erda$$epn$$cDCT$$dOCLCO$$dEBLCP$$dGW5XE$$dOCLCO$$dDKU$$dOCLCF$$dLEATE$$dUKAHL$$dNOC$$dERD$$dOCLCO$$dOCLCQ$$dCOM$$dOCLCQ 001434223 049__ $$aISEA 001434223 050_4 $$aQA76.6 001434223 08204 $$a005.1/1$$223 001434223 1001_ $$aMaurer, Christian,$$d1945-$$eauthor. 001434223 24510 $$aNonsequential and distributed programming with Go :$$bsynchronization of concurrent processes: communication - cooperation - competition /$$cChristian Maurer. 001434223 264_1 $$aWiesbaden :$$bSpringer,$$c[2021] 001434223 300__ $$a1 online resource (xxiv, 404 pages) :$$billustrations (some color) 001434223 336__ $$atext$$btxt$$2rdacontent 001434223 337__ $$acomputer$$bc$$2rdamedia 001434223 338__ $$aonline resource$$bcr$$2rdacarrier 001434223 347__ $$atext file 001434223 347__ $$bPDF 001434223 504__ $$aIncludes bibliographical references and index. 001434223 5050_ $$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. 001434223 506__ $$aAccess limited to authorized users. 001434223 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 chapters on 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 is a 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. 001434223 588__ $$aOnline resource; title from PDF title page (SpringerLink, viewed March 10, 2021). 001434223 63000 $$aLotus Go. 001434223 650_0 $$aComputer programming. 001434223 650_0 $$aProgramming languages (Electronic computers) 001434223 650_0 $$aData structures (Computer science) 001434223 650_0 $$aComputer logic. 001434223 650_0 $$aAlgorithms. 001434223 650_6 $$aProgrammation (Informatique) 001434223 650_6 $$aStructures de données (Informatique) 001434223 650_6 $$aLogique informatique. 001434223 650_6 $$aAlgorithmes. 001434223 655_0 $$aElectronic books. 001434223 77608 $$iPrint version: $$z9783658297817 001434223 77608 $$iPrint version: $$z9783658297831 001434223 852__ $$bebk 001434223 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-3-658-29782-4$$zOnline Access$$91397441.1 001434223 909CO $$ooai:library.usi.edu:1434223$$pGLOBAL_SET 001434223 980__ $$aBIB 001434223 980__ $$aEBOOK 001434223 982__ $$aEbook 001434223 983__ $$aOnline 001434223 994__ $$a92$$bISE