3 个版本 (1 个稳定版)
1.0.0 | 2020年7月19日 |
---|---|
0.1.1 | 2020年7月19日 |
0.1.0 | 2020年7月19日 |
#586 in 并发
11KB
181 行
"写很少读很多"包装器。
这个无锁容器适用于您经常读取到一个T
,但很少修改该T
的情况。
从逻辑角度来看,它大致等同于一个RwLock
,除了
- 它可以在
no_std
平台上工作。 - 读取
T
总是花费相同的时间,并且永远不会等待锁释放。 - 写入
T
是通过比较和交换方式完成的,更新可能需要多次执行。
请参阅Wrrm
的文档。
示例
let val = wrrm::Wrrm::from(5);
assert_eq!(*val.access(), 5);
val.modify_with(|v| *v += 1);
assert_eq!(*val.access(), 6);
依赖项
~23KB