A construct combining mutual exclusion for operations on shared state with condition-based waiting. A waiting caller releases the monitor while asleep and must recheck its predicate after regaining access.
A wait returning without the application predicate necessarily becoming true. Rechecking that predicate in a loop also handles the separate possibility that another caller consumed the resource before the awakened caller could acquire the monitor.

Articles by others on the same topic (0)

There are currently no matching articles.