What is a semaphore?

What is a semaphore? A semaphore (pronounced as sehm uh fawr, invented by Edsger Dijkstra) in computer science is a classic way of protecting shared resources. In multi-programming environments like Unix systems, semaphores are a technique for coordinating or synchronising activities in which multiple processes compete for the same operating system resources. A process needing the resource checks the semaphore to determine the resource’s status and then decides how to proceed. Depending on the value found, the process can use the resource or will find that it is already in use and must wait for some time before trying again, thus avoiding deadlocks.

Leave a Reply

Your email address will not be published. Required fields are marked *