What exactly is a semaphore ?
To use the wiki definition:
To use the wiki definition:
In computer science, particularly in operating systems, a semaphore is a variable
or abstract data type that is used for controlling access, by multiple processes,
to a common resource in a parallel programming or a multi-user environment.