List of Figures
1.3 A process with four threads
2.1 Interface for accessing the critical section
2.2 A program to test mutual exclusion
2.3 An attempt that violates mutual exclusion
2.4 An attempt that can deadlock
2.5 An attempt with strict alternation
2.6 Peterson’s algorithm for mutual exclusion
2.7 Lamport’s bakery algorithm
2.8 TestAndSet hardware instruction
2.9 Mutual exclusion using TestAndSet
2.10 Semantics of swap
operation
3.3 A shared buffer implemented with a circular array
3.4 Bounded buffer using semaphores
3.5 Producer-consumer algorithm using semaphores
3.6 Reader-writer algorithm using semaphores
3.7 The dining philosopher problem
3.10 Dining philosopher using semaphores
3.11 A pictorial view of a Java monitor
3.13 Dining philosopher using monitors
4.1 Concurrent histories illustrating sequential consistency
4.2 Sequential consistency does not satisfy locality
4.3 Summary of consistency conditions
5.1 Safe and unsafe read-write registers
5.2 Concurrent histories illustrating regularity
5.3 Atomic and nonatomic registers
5.4 Construction of a regular boolean register
Get Concurrent and Distributed Computing in Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.