This topic takes a problem-first approach to Rust concurrency. Instead of memorizing APIs in isolation, you'll reach for each tool — threads, channels, locks, atomics — precisely when a problem calls for it, and feel why Rust's type system makes data races a compile error rather than a runtime surprise.
You'll progress through six themed stages:
mpsc channels, from a single round-trip to multi-producer fan-in.Arc, Mutex, and RwLock, and understand lock poisoning.compare_exchange retry loop.Rc isn't thread-safe, and how to make your own types shareable.async/.await really compile to, driven by a tiny hand-written executor so the Future trait stops being magic.Every exercise is a small, focused problem with tests that verify your solution. By the end you'll think in terms of ownership and the Send/Sync boundary, and write concurrent Rust with confidence.