by Mara Bos
This is book is the natural next step after learning the basics of Rust from Programming Rust or any other book/resource. It is 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 on the Rust and CPU sides, as well as memory ordering in Rust.
The next three chapters are a case study of 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 it's volume, it contains a lot of valuable content.