5 个版本

使用旧的 Rust 2015

0.1.4 2018年2月5日
0.1.3 2018年1月6日
0.1.2 2017年9月27日
0.1.1 2017年5月5日
0.1.0 2017年5月5日

#1016 in 并发

Download history 129/week @ 2024-03-14 171/week @ 2024-03-21 200/week @ 2024-03-28 123/week @ 2024-04-04 137/week @ 2024-04-11 127/week @ 2024-04-18 149/week @ 2024-04-25 127/week @ 2024-05-02 142/week @ 2024-05-09 119/week @ 2024-05-16 122/week @ 2024-05-23 146/week @ 2024-05-30 92/week @ 2024-06-06 183/week @ 2024-06-13 216/week @ 2024-06-20 75/week @ 2024-06-27

590 次每月下载
用于 27 个 Crates(10 直接使用)

MIT 许可证

10KB
164

atomic_immut

Documentation Build Status Code Coverage License: MIT

Rust 的原子不可变值。

文档


lib.rs:

原子不可变值。

示例

use std::sync::Arc;
use std::thread;
use atomic_immut::AtomicImmut;

let v = Arc::new(AtomicImmut::new(vec![0]));
{
    let v = v.clone();
    thread::spawn(move || {
                      let mut new = (&*v.load()).clone(); // Loads the immutable reference
                      new.push(1);
                      v.store(new); // Replaces the existing value
                  });
}
while v.load().len() == 1 {}
assert_eq!(&*v.load(), &vec![0, 1]);

无运行时依赖