” The Little book of Semaphores ” by Allen B. Downey is a terrific source for understanding semaphores and learning how to apply them. Allen Downey is an Associate Professor of Computer Science at the Olin College of Engineering in Needham MA, and a Visiting Scientist at Google, Inc. He is the author of How to Think Like a Computer Scientist and several other Free Books.
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 synchronization problems and then show how they can be assembled into solutions. The book includes puzzles and examples. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.
You can also watch an introduction to semaphores which author presented at Northeastern University