Rust在使系统编程更容易理解方面已经发挥了,并且一直在发挥重要作用。然而,低层次的并发主题,如原子和内存排序,仍然经常被认为是有些神秘的主题,最好留给非常小的专家群体。
在过去的几年里,当我从事基于Rust的实时控制系统和Rust标准库的工作时,我发现许多关于原子学和相关主题的可用资源只涵盖了我所寻找的一小部分信息。许多资源完全集中在C和C++上,这就很难与Rust的(内存和线程)安全概念和类型系统形成联系。涵盖抽象理论细节的资源,如C++的内存模型,往往只能模糊地解释它与实际硬件的关系,如果有的话。有许多资源涵盖了实际硬件的每一个细节,如处理器指令和高速缓存一致性,但形成一个整体的理解往往需要从许多不同的地方收集零碎的信息。
本书试图把相关信息放在一个地方,把它们连接在一起,提供你所需要的一切,以建立你自己的正确、安全和符合人体工程学的并发原语,同时对底层硬件和操作系统的作用有足够的了解,以便能够做出设计决策和基本的优化权衡。