Live briefing
Everything about Semaphore (programming)
Variable used in a concurrent system
In computer science, a semaphore is a synchronization device used to control access to a common resource by multiple threads or processes in a concurrent system, such as a multitasking operating system. It allows simultaneous access to a critical section by some predetermined number of processes. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Semaphore (programming)A 5-minute orientation
- Pick up a classic book: Modern Operating SystemsThe most-reprinted book on the subject
- Read the landmark paper: The geometry of semaphore programsCited 22 times
- Go sideways: Producer–consumer problemA closely related topic
- Go sideways: Readers–writers problemA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
Modern Operating SystemsAndrew S. Tanenbaum, Herbert Bos · 1992
SystemVerilog for VerificationChris Spear · 2006
Advanced OS/2 ProgrammingRay Duncan · 1989
The Origin of Concurrent ProgrammingPer Brinch Hansen · 2011
The Art Of OS/2 Warp ProgrammingKatheleen Panov, Larry Salomon Jr., Arthur Panov · 1995
C++ network programmingDouglas C. Schmidt · 2002
Modern multithreadingRichard H. Carver · 2005
Teach Yourself REXX in 21 daysWilliam F. Schindler, Esther Schindler · 1994
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Producer–consumer problem In computing, the producer-consumer problem (also known as the bounded-buffer problem) is a family of problems described by Edsger W. Dijkstra since 1965…
- Readers–writers problem In computer science, the readers–writers problems are examples of a common computing problem in concurrency. There are at least three variations of the…
- Sleeping barber problem In computer science, the sleeping barber problem is a classic inter-process communication and synchronization problem that illustrates the complexities…
- Monitor (synchronization) In concurrent programming, a monitor is a synchronization construct that prevents threads from concurrently accessing a shared object's state and allows…
- Dining philosophers problem In computer science, the dining philosophers problem is an example problem often used in concurrent algorithm design to illustrate synchronization issues…
- Synchronization (computer science) In computer science, synchronization is the task of coordinating multiple processes to join up or handshake at a certain point, in order to reach an agreement…
- Lock (computer science) In computer science, a lock or mutex (from mutual exclusion) is a synchronization primitive that prevents state from being modified or accessed by multiple…
- Mutual exclusion In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions. It is the…