Rust原子和锁

Rust原子和锁

Rust Atomics and Locks

开始阅读

Rust并发基础

介绍Rust并发所需的工具和概念,例如线程、互斥锁、线程安全、共享和独占引用、内部可变性等。

原子类型

介绍Rust原子类型及其操作,提供真实用例探索新概念,从加载和存储操作开始,构建更高级的比较和交换。

内存顺序

介绍Rust内存顺序,探讨内存模型和先行发生关系的工作原理,讨论不同内存顺序的含义和局限性。

构建自己的自旋锁

实践释放和获取内存顺序并探索Rust安全概念,转变为符合人体工程学且难以滥用的数据类型。

构建自己的通道

通过多种方式设计安全接口,考虑设计决策及后果,从unsafe版本开始。

构建自己的"Arc"

从头实现原子引用计数版本,添加弱指针支持并优化性能,最终版本与Rust的Arc类型相同。

了解处理器

介绍处理器级别的原子操作,包括两种最流行的处理器架构上的汇编指令,缓存的作用以及对代码性能的影响,以及硬件级内存模型的相关内容。

操作系统原语

介绍操作系统内核在并发中的作用,讨论Linux、macOS和Windows可用的功能和pthread、Windows API、Linux futex的并发原语。

构建自己的锁

从头构建互斥锁、条件变量和读写锁多个实现,尝试各种优化并讨论设计权衡,基准测试发现优化并非总能提高性能。