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.
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.
An in-depth introduction to concurrent and distributed computing with Java
Combining 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.
The 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:
- Threads
- Synchronized methods
- Waits and notify
- Multi-threaded programming
- Algorithms for mutual exclusion, consensus, atomic objects, and wait-free data structures
The second half of the text deals with programming in a message-passing system, and covers:
- Resource allocation problems
- Logical clocks
- Global property detection
- Leader election
- Message ordering
- Agreement algorithms
- Checkpointing
- Message logging
Avoiding 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.