A collection of concurrent and distributed constructs that were taught in CST IB, and implemented in C++ as practice.
- Semaphore (lock + cv)
- Producer consumer
- Multiple reader single writer
- Monitors using condition variables
- Timestamp ordering
- Optimistic concurrency control
- Multiple thread simulator
- FIFO, causal, and total order FIFO broadcasts
- replication with quorums (read-after-write and linearised)
- 2 phase commit and atomic commit