The Little Book of Semaphores
by Allen B. Downey
On This Page
Description
The Little Book of Semaphores is a textbook that introduces the principles of synchronization for concurrent programming.In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.The approach of this book is to identify patterns that are useful for a variety of show more 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. *** Published under the terms of the GNU Free Documentation License. Money raised from the sale of this book supports the development of free software and documentation. show lessTags
Recommendations
Members
- Recently Added By
Lists
Dan Luu's Programming book list
46 works; 1 member
Author Information

21+ Works 1,152 Members
Allen B. Downey, professor of Computer Science at Olin College, is the author of O'Reilly books related to software and data science, including Think Python, Think Bayes, and Think Stats. His blog, Probably Overthinking It, features articles on Bayesian probability and statistics. Allen holds a Ph.D. in computer science from U.C. Berkeley, and show more M.S. and B.S. degrees from MIT. show less
Common Knowledge
- Canonical title
- The Little Book of Semaphores
Classifications
- Genres
- Technology, Nonfiction
- DDC/MDS
- 005 — Computer science, information & general works Computer science, knowledge & systems Artificial Intelligence/Virtual Reality
- LCC
- QA76.76 .O63 .D68 — Science Mathematics Mathematics Instruments and machines Calculating machines Electronic computers. Computer science Computer software
- BISAC
Statistics
- Members
- 22
- Popularity
- 1,190,144
- Languages
- English
- Media
- Paper
- ISBNs
- 1





















































