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.