2个不稳定版本

0.2.0 2022年10月20日
0.1.0 2015年10月16日

#1063并发

MIT 协议

76KB
933

Atomic-Cell

Test Status Crate API

一个用于无锁、线程安全、可变内存位置的crate。


lib.rs:

此crate提供了一个称为 AtomicCell 的线程安全可变内存位置。

此类型与 Cell 相当,但它也可以在多个线程之间共享。

工作原理

当构建一个 AtomicCell 时,调用者选择一个适合他们希望存储的数据的 AtomicStorage 实现来使用。例如,可以使用 AtomicU8 来保存一个 #[repr(u8)] 枚举

在底层,所需类型被转换为存储的相应基本类型,并在存储上执行原子操作。

结果是用户几乎可以无缝地与 AtomicCell 交互,就像它与本地原子一样。

定义了两种实现:通用和宏。通用实现依赖于 AtomicStorage 特性,而宏实现依赖于裸函数。这使得宏实现能够在稳定的Rust中具有更多 const 函数。

依赖

~215KB