32 个版本

0.8.20 2024 年 5 月 19 日
0.8.19 2024 年 1 月 8 日
0.8.18 2023 年 12 月 24 日
0.8.16 2023 年 6 月 12 日
0.2.1 2017 年 11 月 26 日

#347 in 并发

Download history 1902175/week @ 2024-05-02 1878422/week @ 2024-05-09 2038619/week @ 2024-05-16 2037293/week @ 2024-05-23 2227130/week @ 2024-05-30 2188800/week @ 2024-06-06 2187953/week @ 2024-06-13 2210903/week @ 2024-06-20 2185676/week @ 2024-06-27 2028333/week @ 2024-07-04 2191403/week @ 2024-07-11 2257898/week @ 2024-07-18 2288616/week @ 2024-07-25 2278663/week @ 2024-08-01 2369908/week @ 2024-08-08 1863522/week @ 2024-08-15

9,211,440 个月下载量
用于 28,874 个 Crates(344 个直接使用)

MIT/Apache

140KB
2K SLoC

Crossbeam Utils

Build Status License Cargo Documentation Rust 1.60+ chat

此 crate 提供了并发编程的杂项工具

原子操作

  • AtomicCell,一个线程安全的可变内存位置。(no_std)
  • AtomicConsume,用于以 "consume" 顺序从原始原子类型中读取。(no_std)

线程同步

  • Parker,一个线程挂起原语。
  • ShardedLock,一个支持快速并发读的分区读写锁。
  • WaitGroup,用于同步某些计算的开始或结束。

工具

  • Backoff,用于自旋循环中的指数退避。(no_std)
  • CachePadded,用于填充和对齐值到缓存行长度。(no_std)
  • scope,用于创建从堆栈借用局部变量的线程。

带有 (no_std) 标记的功能可以在 no_std 环境中使用。

用法

将此添加到您的 Cargo.toml

[dependencies]
crossbeam-utils = "0.8"

兼容性

Crossbeam Utils 支持至少六个月前的稳定 Rust 版本,并且每次最低支持的 Rust 版本增加时,都会发布一个新的次要版本。目前,最低支持的 Rust 版本是 1.60。

许可证

根据以下任一许可证授权

由您选择。

贡献

除非您明确表示,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,将如上所述双许可,不附加任何额外条款或条件。

依赖项

~0–24MB
~334K SLoC