Un
sémaphore est une
variable (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées (par exemple un espace de stockage) et
synchroniser les processus dans un environnement de programmation concurrente. Le sémaphore a été inventé par
Edsger Dijkstra et utilisé pour la première fois dans le système d'exploitation
THE Operating system.