Monitor
Noun · Development
Definitions
A synchronization construct that bundles a mutex with one or more condition variables, allowing threads to both mutually exclude each other from a critical section and wait/signal on conditions within it — the basis for Java's `synchronized` keyword and C#'s `lock` statement.
In plain English: A locking mechanism that lets threads take turns accessing shared data and also wait for specific conditions to be true before proceeding.
Example: "The bounded buffer uses a monitor so the producer waits on `notFull` and the consumer waits on `notEmpty` without busy-spinning."