Solutions for various classical concurrency problems using multiple languages (C, Java, C#, Python).
Completed as a course assignment for CSC464 at the University of Victoria, Fall 2018
Problems and some solution strategies courtesy of:
The Little Book of Semaphores
by Allen B. Downey
Available here
Readers-Writers
C (mutexes)
Java (semaphores)
Producers-Consumers
Java (synchronized with monitor)
C# (lock with monitor)
Sleeping Barber
C# (semaphores)
Python (semaphores)
Building H2O
Java (semaphores, barrier)
Python (semaphores, barrier)
Roller Coaster
C (semaphores)
C# (lock with semaphores)