Semaphores
Think about a semaphore ADT (class)
Counting semaphore, binary semaphore
Attributes: semaphore value, Functions: init, wait, signal
Considered an OS resource, a limited number available: a limited number of instances (objects) of semaphore class is allowed.
Can easily implement mutual exclusion among any number of processes.