Potential for multiple operations to run at the same time (parallelism), but doesn't mean it will. Concurrency ≠ Parallelism
- Sorting Unique Integers - Using mergesort and quicksort (serial)
- Merge Sort with Fork/Join and Bucket Sort using locks - Using parallelism, mergesort with fork/join and bucketsort with locks
- Locking Algorithms - Multithreading on an atomic global counter and bucket sorting using various barrier and locking methods
- OpenMP - Parallel merge sorting using the application programming interface OpenMP (Open Multi-Processing)
- Concurrent Containers - Various multi-threaded stack (S) and queue (Q) algorithms such as Treiber (S), Michael & Scott (Q), Single Global Lock (S & Q), Baskets (Q), and an attempt at Elimination (S)