by Mara Bos
This book is the natural next step after learning the basics of Rust from Programming Rust or any other book/resource. It's more than just an introduction to synchronisation mechanisms in Rust - it's a great book that describes these mechanisms in a way that will be useful to programmers of any low-level programming language.
The first chapter describes many useful terms and ideas behind synchronisation, some of which are general and some of which are Rust-specific. It's a great revision material for everyone. The following chapters describe how atomic variables work in Rust and at the CPU level, as well as memory ordering in Rust.
The next three chapters are a case study of the author's own implementations of spin locks, channels and
Arc. After that, the author provides more theoretical knowledge about how
everything works on the processor side, as well as how operating system synchronisation
primitives are implemented. The book concludes with a few more implementations of
locks, followed by more theory.
I was surprised by the quality of the book. Considering its compact size, it contains a lot of valuable content.