Monitors
A monitor is a software module that contains:
- Procedures
- Initialization code
- Shared data
Monitor properties:
- Shared data can be accessed only by monitor’s procedures.
- Only one process at a time can execute in the monitor (executing a monitor procedure).
Shared data may contain condition variables.