Synchronization Algorithms and Concurrent Programming
Gadi Taubenfeld
cover.jpg (38944 bytes) Book Info Product Details
Table of Contents ISBN: 0131972596
Back Cover Publisher: Pearson / Prentice Hall
Companion Website      Published: May 11, 2006
Errata, 8 ppts, figures -- Format: Paperback
download below Language: English
  Number of pages: 433
Catalogue: UK , US
Amazon: UK , US
Gadi's homepage
See larger photo    


What's New

A review of the book has appeared in the following special issue on
Teaching concurrency
ACM SIGACT News Distributed Computing Column 33, March 2009 (18 pages)
pdf of Column 33
Also in: ACM SIGACT News, Volume 40 Issue 1, pages 47--50, March 2009


The following article gives a brief overview of the book
Shared memory synchronization
In: Distributed computing column of the Bulletin of the European Association

for Theoretical Computer Science (BEATCS), October 2008 (18 pages)
G. Taubenfeld

Table of Contents

Key Features
1. Introduction
2. Mutual exclusion using atomic registers: basic topics
3. Mutual exclusion using atomic registers: advanced topics
4. Blocking and non-blocking synchronization
5. Barrier synchronization
6. The l-exclusion problem
7. Multiple resources
8. Classical synchronization problems
9. Consensus
10. Timing-based algorithms


Back Cover

Synchronization is a fundamental challenge in computer science.  It is fast becoming a major performance and design issue for concurrent programming on modern architectures, and for the design of distributed systems.  This is the first text to give a complete and coherent view of all aspects of synchronization algorithms.

Computer science students, programmers, system designers and researchers will be able to solve problems and master techniques that go beyond the treatment provided in introductory texts on operating systems, distributed computing and concurrency.  Dozens of algorithms are presented and their performance is analyzed according to precise complexity measures.

Highlights of the book include

  • A wide variety of synchronization problems, algorithms and   key concepts are covered in detail.
  • Self-review questions with solutions to check your understanding.
  • A wealth of end-of-chapter exercises and bibliographic notes.
  • Over 300 annotated references guiding you through the contemporary research literature.
  • A Companion Website provides PowerPoint slides and other teaching and learning aids for students and instructors at

About the author

Gadi Taubenfeld is a Professor of Computer Science at the Interdisciplinary Center in Herzliya, Israel. He is an established authority in the area of concurrent and distributed computing and has published widely in leading journals and conferences. He was the head of the computer science division at Israelís Open University; member of technical staff at AT&T Bell Laboratories; consultant to AT&T Labs-Research; and a research scientist and lecturer at Yale University. He holds a PhD in Computer Science from the Technion - Israel Institue of Technology.


Companion Website

The companion website  includes the following  valuable  learning material:

  • Errata
  • 8 PowerPoint presentations 
  • All figures from the book



For all chapters Download Size Last updated
Errata errate.pdf 151KB November  2017



PowerPoint Presentations


Chapter # Download Size Last updated
Chapter 1 chapter1.pptx 727KB June 2014
Chapter 2 chapter2.pptx 651KB June 2014
Chapter 3 chapter3.pptx 302KB June 2014
Chapter 4 chapter4.pptx 897KB June 2014
Chapter 5 chapter5.pptx 890KB June 2014
Chapter 7 chapter7.pptx 278KB June 2014
Chapter 9 chapter9.pptx 490KB June 2014
Chapter 10 chapter10.pptx 345KB June 2014





Chapter # Download Size Last updated
Chapter 1 945KB Feb 2007
Chapter 2 1543KB Feb 2007
Chapter 3 1520KB Feb 2007
Chapter 4 869KB Feb 2007
Chapter 5 330KB Feb 2007
Chapter 6 --- --- Feb 2007
Chapter 7 606KB Feb 2007
Chapter 8 336KB Feb 2007
Chapter 9 887KB Feb 2007
Chapter 10 207KB Feb 2007