Concurrent and Distributed Computing in Java

  • ID: 2181155
  • Book
  • 336 Pages
  • John Wiley and Sons Ltd
1 of 4
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.

Note: Product cover images may vary from those shown
2 of 4
List of Figures.


1. Introduction.

2. Mutual Exclusion Problem.

3. Synchronization Primitives.

4. Consistency Conditions.

5. Wait–Free Synchronization.

6. Distributed Programming.

7. Models and Clocks.

8. Resource Allocation.

9. Global Snapshot.

10. Global Properties.

11. Detecting Termination and Deadlocks.

12. Message Ordering.

13. Leader Election.

14. Synchronizers.

15. Agreement.

16. Transactions.

17. Recovery.

18. Self–Stabilization.

Appendix: Various Utility Classes.



Note: Product cover images may vary from those shown
3 of 4


4 of 4
" a detailed yet readable introduction to concurrency and distributed computing." (Computing, April 9, 2004)

"...well–written and accurate...a good book for anyone who′d like hands–on training in the concepts of concurrent and distributed systems." (IEEE Distributed Systems Online, November 2004)

Note: Product cover images may vary from those shown
5 of 4
Note: Product cover images may vary from those shown