Monitors
Implemented within the programming language
Think of a monitor as a special kind of C++ class
- Contains code and data like a regular class
- All of the data is private, so you have to use the monitor code to access it
- Only one thread is allowed to run code in the monitor at the same time. If someone else is already in, block until they leave.