Rust 并发集合

深入理解 Rust 的并发数据结构

DashMap

高性能的并发哈希表实现,支持多线程安全的读写操作。

let map = DashMap::new();
map.insert("key", "value");
if let Some(value) = map.get("key") {
    println!("Value: {}", value);
}
中级 并发集合

Concurrent Queue

高效的无锁并发队列实现,支持多生产者多消费者模式。

let queue = ConcurrentQueue::bounded(100);
queue.push(value).unwrap();
let item = queue.pop().unwrap();
高级 并发集合

Crossbeam-Deque

高效的无锁工作窃取双端队列,用于任务分配和并行计算。

let worker = Worker::new_fifo();
let stealer = worker.stealer();
高级 并发集合

Crossbeam-Skiplist

高性能、并发安全的跳表实现,提供有序集合和映射功能。

let map = SkipMap::new();
map.insert(1, "value");
for entry in map.range(0..10) {
    println!("{}: {}", entry.key(), entry.value());
}
高级 并发集合

Sharded-Slab

高性能分片槽数据结构,用于快速分配和回收固定大小的对象。

let pool = Pool::new();
let key = pool.create().unwrap();
pool.get_mut(key).unwrap().replace("Hello");
高级 并发集合

EvMap

无锁并发映射,使用读写分离的设计提供高性能读取。

let (r, w) = evmap::new();
w.insert(key, value);
w.refresh();
高级 并发集合

Left-Right

无锁并发读写数据结构,提供高性能的读操作和线程安全的写操作。

let lr = LeftRight::new(0);
lr.write(|v| *v += 1);
assert_eq!(lr.read(|v| *v), 1);
高级 并发数据结构

Once Map

线程安全的懒初始化键值存储结构,确保每个键只被初始化一次。

let map = OnceMap::new();
let value = map.get_or_insert(key, || compute_value());
中级 并发集合

SCC

可扩展的并发容器库,提供高性能的并发数据结构。

let map = scc::HashMap::default();
map.insert("key", "value");
高级 并发集合