A semaphore is a synchronization mechanism used in computing to control access to a common resource by multiple processes in a concurrent system. It uses simple integer values to signal when a resource is available or unavailable, preventing race conditions and ensuring proper sequencing of processes.