Crossbeam —— Rust 并发库
Crossbeam 是一款 Rust 并发库,提供了一系列用于并发编程的工具:
Atomics
AtomicCell, 线程安全的可变内存位置 (no_std)AtomicConsume, 用于从具有"consume"顺序的原始原子类型中读取 (no_std)
数据结构
deque, 用于构建任务调度程序的 work-stealing 双端队列ArrayQueue, 有界 MPMC 队列,在构造时分配一个固定容量的缓冲区 (alloc)SegQueue, 无界 MPMC 队列,按需分配小的缓冲区、段 (alloc)
内存管理
epoch, 基于 epoch 的垃圾回收器 (alloc)
线程同步
channel, 使用多生产者多消费者渠道进行消息传递Parker, a thread parking primitive.ShardedLock, 具有快速并发读取的分片读写锁 (reader-writer lock)WaitGroup, 用于同步某些计算的开始或结束