Synchronizing Object Access
- When a thread calls lock, it owns the lock until it calls unlock
- A thread that calls lock while another thread owns the lock is temporarily deactivated
- Thread scheduler periodically reactivates thread so it can try to acquire the lock
- Eventually, waiting thread can acquire the lock