TY - BOOK AU - Downey,Allen B. ED - Open Textbook Library TI - The Little Book of Semaphores T2 - Open textbook library AV - QA76 PB - Open Textbook Library KW - Computer Science KW - Textbooks N1 - 1 Introduction -- 2 Semaphores -- 3 Basic synchronization patterns -- 4 Classical synchronization problems -- 5 Less classical synchronization problems -- 6 Not-so-classical problems -- 7 Not remotely classical problems -- 8 Synchronization in Python -- 9 Synchronization in C -- A Cleaning up Python threads -- B Cleaning up POSIX threads N2 - The Little Book of Semaphores is a free (in both senses of the word) 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 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 UR - https://open.umn.edu/opentextbooks/textbooks/83 ER -