Low-level Concurrency in Practice. This practical book helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and …
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 difficult. Even in the most well-used libraries, memory ordering bugs are not uncommon.
In this practical book, Mara Bos, team lead 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
Available free of charge. But I doubt I'll ever read it. Never enough time and energy for everything.
Oh I didn't know the book is freely available under the CC license; I bought the Japanese translated version just a week ago. The book is quite difficult for me but the first chapter was very good read.