The Little Book of Semaphores

The Little Book of Semaphores is a free textbook that introduces the principles of synchronization for concurrent programming. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions.


After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own. The book covers the classical problems, including “Readers-writers,” “Producer-consumer”, and “Dining Philosophers.” In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.

Table of Contents

  • Introduction
  • Semaphores
  • Basic synchronization patterns
  • Classical synchronization problems
  • Less classical synchronization problems
  • Not-so-classical problems
  • Not remotely classical problems
  • Synchronization in Python
  • Synchronization in C

Book Details

Author(s): Allen B. Downey
Format(s): PDF
File size: 980 KB
Number of pages: 291
Link: Download.

Leave a Reply