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
PDF
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)
Wikipedia
BCS Article: Celebrating the Life of C.A.R. 'Tony' Hoare
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!)
Occam-pi Lecture Notes
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