Semaphore. Defined.

Semaphores can best be described as counters which are used to provide synchronization between processes or between threads within a process for shared resources like shared memories.