an apparatus for conveying information by means of visual signals, as with flags, etc.
An integer value used for signaling among processes. Only three operations may be performed on a semaphore, all of which are atomic: initialize, decrement, and increment.
When a work process locks a resource, it sets a semaphore. Another work process that also wants to access it must then wait.