{"product_id":"concurrent-and-distributed-computing-in-java-isbn-9780471432302","title":"Concurrent and Distributed Computing in Java","description":"Concurrent and Distributed Computing in Java addresses fundamental concepts in concurrent computing with Java examples. The book consists of two parts. The first part deals with techniques for programming in shared-memory based systems. The book covers concepts in Java such as threads, synchronized methods, waits, and notify to expose students to basic concepts for multi-threaded programming. It also includes algorithms for mutual exclusion, consensus, atomic objects, and wait-free data structures.\u003cbr\u003e The second part of the book deals with programming in a message-passing system. This part covers resource allocation problems, logical clocks, global property detection, leader election, message ordering, agreement algorithms, checkpointing, and message logging. Primarily a textbook for upper-level undergraduates and graduate students, this thorough treatment will also be of interest to professional programmers.  List of Figures.  \u003cp\u003ePreface.\u003c\/p\u003e \u003cp\u003e1. Introduction.\u003c\/p\u003e \u003cp\u003e2. Mutual Exclusion Problem.\u003c\/p\u003e \u003cp\u003e3. Synchronization Primitives.\u003c\/p\u003e \u003cp\u003e4. Consistency Conditions.\u003c\/p\u003e \u003cp\u003e5. Wait-Free Synchronization.\u003c\/p\u003e \u003cp\u003e6. Distributed Programming.\u003c\/p\u003e \u003cp\u003e7. Models and Clocks.\u003c\/p\u003e \u003cp\u003e8. Resource Allocation.\u003c\/p\u003e \u003cp\u003e9. Global Snapshot.\u003c\/p\u003e \u003cp\u003e10. Global Properties.\u003c\/p\u003e \u003cp\u003e11. Detecting Termination and Deadlocks.\u003c\/p\u003e \u003cp\u003e12. Message Ordering.\u003c\/p\u003e \u003cp\u003e13. Leader Election.\u003c\/p\u003e \u003cp\u003e14. Synchronizers.\u003c\/p\u003e \u003cp\u003e15. Agreement.\u003c\/p\u003e \u003cp\u003e16. Transactions.\u003c\/p\u003e \u003cp\u003e17. Recovery.\u003c\/p\u003e \u003cp\u003e18. Self-Stabilization.\u003c\/p\u003e \u003cp\u003eAppendix: Various Utility Classes.\u003c\/p\u003e \u003cp\u003eBibliography.\u003c\/p\u003e \u003cp\u003eIndex.\u003c\/p\u003e  \"…a detailed yet readable introduction to concurrency and distributed computing.\" (\u003ci\u003eComputing Reviews.com\u003c\/i\u003e, April 9, 2004)  \u003cp\u003e\"...well-written and accurate...a good book for anyone who'd like hands-on training in the concepts of concurrent and distributed systems.\" (\u003ci\u003eIEEE Distributed Systems Online\u003c\/i\u003e, November 2004)\u003c\/p\u003e \u003cb\u003eVIJAY K. GARG, PHD,\u003c\/b\u003e is a professor in the Electrical and Computer Engineering Department and director of the Parallel and Distributed Systems Laboratory at the University of Texas at Austin, and a leading researcher in distributed computing systems.  An in-depth introduction to concurrent and distributed computing with Java  \u003cp\u003eCombining the two key types of Java programming, Concurrent and Distributed Computing in Java offers both professionals and students a comprehensive guide to fundamental concepts necessary for mastering Java programming.\u003c\/p\u003e \u003cp\u003eThe text is presented in two parts. The first deals with techniques for programming in shared-memory based systems and covers concepts in Java such as:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eThreads\u003c\/li\u003e \u003cli\u003eSynchronized methods\u003c\/li\u003e \u003cli\u003eWaits and notify\u003c\/li\u003e \u003cli\u003eMulti-threaded programming\u003c\/li\u003e \u003cli\u003eAlgorithms for mutual exclusion, consensus, atomic objects, and wait-free data structures\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eThe second half of the text deals with programming in a message-passing system, and covers:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eResource allocation problems\u003c\/li\u003e \u003cli\u003eLogical clocks\u003c\/li\u003e \u003cli\u003eGlobal property detection\u003c\/li\u003e \u003cli\u003eLeader election\u003c\/li\u003e \u003cli\u003eMessage ordering\u003c\/li\u003e \u003cli\u003eAgreement algorithms\u003c\/li\u003e \u003cli\u003eCheckpointing\u003c\/li\u003e \u003cli\u003eMessage logging\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eAvoiding excessive mathematical notation while explaining important concepts with both rigor and clarity, this up-to-date text will prove a valuable resource for interested professionals and students alike.\u003c\/p\u003e  Vijay K. Garg introduces concepts, models and algorithms suited to distributed computing and presents them in Java. This way, the reader can see that these algorithms can be effectively implemented (and that there is no \"hidden mystery\" within the model or the algorithms). The approach used by the author is very appealing as it demystifies concepts that could be considered \"too theoretical\" to be useful. This book successfully takes up the challenge to nicely merge theory and practice. It can consequently benefit both communities. I stronlgy recommend the book to people interested in the design and implementation of distributed systems.\u003cbr\u003e --Michel Raynal, Professor, University of Rennes, France.","brand":"Wiley-IEEE Press","offers":[{"title":"Default Title","offer_id":47988972028133,"sku":"NP9780471432302","price":176.95,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780471432302.jpg?v=1761782264","url":"https:\/\/k12savings.com\/es\/products\/concurrent-and-distributed-computing-in-java-isbn-9780471432302","provider":"K12savings","version":"1.0","type":"link"}