Based on the course taught by Gavin Lowe in Hilary Term 2021.
Concurrent programs consist of interacting tasks, and we aim to correctly sequence such interactions/communications, and coordinate access to shared resources.
- Basics (definitions, CSO basics, \(\preceq\))
- Message passing
- Design patterns
- Datatypes
- Synchronization
- Monitors
- Semaphores
- Testing
Resources
Course textbook: Foundations of Multithreaded, Parallel, and Distributed Programming, Gregory R. Andrews, Addison-Wesley, 2000.
CSO library and documentation.
References to notes are of the form [x.y] where x is the lecture number and y is the slide number.