rust 多线程无锁读写一个变量

原创
2020/05/08 16:35
阅读数 588

这个方案可能是目前发现的最优美简洁的了:

use crossbeam::thread;
use std::collections::HashSet;

fn main() {
    let mut a = HashSet::new();
    a.insert("aaa");
    let mut input = vec![a.clone(), a.clone(), a.clone(), a.clone()];

    thread::scope(|s| {
        for set in &mut input {
            s.spawn(move |_| {
                set.insert("bbb");
            });
        }
    }).unwrap();

    println!("{:?}", input);
}
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部