Monitors, synchronization
monitor
- lock that grants access to one process / thread at a time
- other processes / threads must wait in a queue
- various "granularities"
- class, methods, code blocks
- static, instance
- once thread has entered lock, it can go through it again
- can create deadlock: dining philosophers problem
- methods