Concurrent and Distributed Computing in Java

Front Cover
John Wiley & Sons, Jan 28, 2005 - Computers - 336 pages
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.
 

Contents

1 Introduction
1
List of Figures
2
2 Mutual Exclusion Problem
17
3 Synchronization Primitives
31
4 Consistency Conditions
53
5 WaitFree Synchronization
65
6 Distributed Programming
89
7 Models and Clocks
111
12 Message Ordering
191
13 Leader Election
209
14 Synchronizers
221
15 Agreement
233
16 Transactions
253
17 Recovery
263
18 SelfStabilization
279
A Various Utility Classes
291

8 Resource Allocation
129
9 Global Snapshot
149
10 Global Properties
163
11 Detecting Termination and Deadlocks
177

Other editions - View all

Common terms and phrases

References to this book

About the author (2005)

VIJAY K. GARG, PHD, 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.

Bibliographic information