Concurrency Lab

Fourteen interactive models of threads, locks and async code. Step through thread timelines, provoke race conditions and fix them with a mutex or an atomic, wait on condition variables, find deadlock cycles in wait-for graphs, check happens-before claims, trace promises and the event loop, push a producer-consumer pipeline into overload, starve a thread pool, cancel a task tree, and schedule an RTOS task set with priority inheritance.

All simulators