Rust 并发编程番外篇: Mutex 内部实现

鸟窝 at 
Mutex 是最常用的一种同步原语,它提供了互斥锁的功能,多线程可以互斥访问共享数据以及通过锁保护临界区。Rust 标准库提供了 Mutex 的实现,接下来我们看看它是怎么实现的。Mutex 的定义 Mutex 包含三个字段。一个是内部实现的锁(sys::Mutex),根据不同的操作系统,可能选择不同的实现。一个是 poison,用来标记锁是否被破坏,是否中毒了。最后一个是 data,用来存储被保护的数据。1234567891011pub struct Mutex { inner: sys::Mutex, poison: poison::Flag, data: UnsafeC……