A semaphore :
A semaphore :
Explanation
In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple threads and avoid critical section problems in a concurrent system such as a multitasking operating system.
Semaphores are a type of synchronization primitive.