Correct Answer: A Monitor defines a lock and condition variables for managing concurrent access to shared data The monitor uses the lock to ensure that only a single thread inactive in the monitor code at any time A monitor allows only one thread to lock an object at once