Concurrency in Motion
โ Free to startThe visual concurrency course. Threads, locks, races and deadlocks are hard to learn from prose because they are things that happen over time โ and prose has no clock. Every lesson here is built around a diagram you can play, pause and step through, so you watch the behaviour instead of imagining it.
๐ฌ How this course teaches
Read a short explanation, then run it. Each concept ships with an interactive player, a comparison table, and the same code in four languages โ Java, Python, Go and C++. Everything in the Concurrency 101 section is free, forever.
Start here โ the free lessons
Two lessons are live right now. They're the foundation the rest of the course builds on:
The curriculum
Eight sections, from first principles to lock-free programming. Use the sidebar to browse โ locked lessons are being written and released daily.
| Section | Lessons | What you get out of it |
|---|---|---|
| Welcome | 2 | How to use the course and the roadmap |
| Concurrency 101 | 6 | The mental model: tasks, cores, threads, switching |
| Language-Specific | 27 | Threads in Java, Python (and the GIL), Go, C++ |
| Synchronization Primitives | 10 | Mutex, semaphore, condition variables, barriers |
| Concurrency Challenges | 8 | Races, deadlock, livelock, starvation โ and the fixes |
| Locking Strategies | 10 | Read-write locks, optimistic locking, granularity |
| Lock-Free Programming | 4 | Atomics and compare-and-swap |
| Concurrency Patterns | 13 | Producer-consumer, thread pools, pipelines |
What a lesson looks like
Every lesson follows the same shape, so you always know where you are:
Explain โ visualize โ compare โ code โ practice. A short written explanation, an
animated or steppable diagram, a table that pins down the distinction, the same idea in four
languages via tabs, and a small exercise to run yourself.
โ ๏ธ Why not just read the docs?
Because the bugs that matter โ a race, a deadlock, a thread stuck in the wrong state โ are timing bugs. You can read the definition of a race condition and still not see one coming. Watching the interleaving happen is what makes it stick.
๐งฉ Ready?
Start with Introduction to Concurrency โ nine minutes, no account needed.