Monitors
This concept was formally defined by HOARE in 1974.
Initially it was implemented as a programming language construct and more recently as library. The latter made the monitor facility available for general use with any PL.
Monitor consists of procedures, initialization sequences, and local data. Local data is accessible only thru’ monitor’s procedures. Only one process can be executing in a monitor at a time. Other process that need the monitor wait suspended.