semaphore
n.n. a system for sending signals using flags, lights, or moving arms. In computing, it is a tool that helps different programs or parts of a computer share resources without crashing into each other.
n. a system of visual signalling using flags or mechanical arms; in computer science, a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system.
The sailor used semaphore to send a message to the other ship.
The operating system uses a semaphore to ensure that only one process writes to the database at a time.
In concurrent programming, a binary semaphore acts as a mutex, preventing race conditions by forcing threads to wait until a shared resource is released.
The noun is borrowed from French sémaphore, from Ancient Greek σῆμα (sêma, “mark, sign, token”) + French -phore (from Ancient Greek -φόρος (-phóros, suffix indicating a bearer or carrier)). By surface analysis, sema- + -phore. The verb is derived from the noun.
Etymology adapted from Wiktionary, available under CC BY-SA 4.0.
In its technical computing sense, it is typically countable; in its historical signalling sense, it is often uncountable.
Last updated July 22, 2026