The Rust programming language is extremely well suited for concurrency,
and its ecosystem has many libraries that include lots of concurrent
data structures, locks, and more. But implementing those structures
correctly can be very difficult. Even in the most well-used libraries,
memory ordering bugs are not uncommon.
In this practical book, Mara Bos, leader of the Rust library team, helps
Rust programmers of all levels gain a clear understanding of low-level
concurrency. You'll learn everything about atomics and memory ordering
and how they're combined with basic operating system APIs to build
common primitives like mutexes and condition variables. Once you're
done, you'll have a firm grasp of how Rust's memory model, the
processor, and the role of the operating system all fit together.
With this guide, you'll learn:
- How Rust's type system works exceptionally well for programming
concurrency correctly
- All about mutexes, condition variables, atomics, and memory ordering
- What happens in practice with atomic operations on Intel and ARM
processors
- How locks are implemented with support from the operating system
- How to write correct code that includes concurrency, atomics, and
locks
- How to build your own locking and synchronization primitives correctly