A synchronization primitive used to control access to a shared resource by multiple processes or threads, allowing only a specified number to access it concurrently.
"The semaphore prevented multiple threads from accessing the critical section simultaneously."