Week 8
Monitors in Java
- Java case study (starter code for Assign 4)
- this version deadlocks!
- you will use two different approaches to fix:
- synchronized methods
- synchronized code blocks
- Obscure Java
- shortest compilable Java program?
- does it run?
- what's it good for?
- inner classes
- what are they?
- what are they good for?
- what do they look like when compiled?
- what does any of this have to do with the assignment?
Assignment: Dining Java Philosophers
- Assign 4
- due: Tue, Mar 31, 11:59pm
Channels
- Communicating Sequential Processes (CSP) and Golang (Go)!
- RIP: C.A.R. 'Tony' Hoare (March 5, 2026; 92 years old)
- Hoare's 1978 CSP paper
- Hoare's 1985 CSP textbook
- Rob Pike's Google I/O 2012 - Go Concurrency Patterns: https://youtu.be/f6kdp27TYZs
- Peter Welch's slides introducing CSP and occam-pi (but we will use Go this semester!)
- today:
- Objects Considered Harmful (slide 27 of motivation.pdf slides)
- even though we won't be programming in occam-pi, I want to give you a flavor of it
- because:
- ultimate lightweight processes!
- composition!
- Legoland: slide 83-end of basics.pdf