3 个不稳定版本

0.9.0 2024年3月19日
0.8.1 2024年3月14日
0.8.0 2024年3月10日

788并发

Download history • Rust 包仓库 247/week @ 2024-03-09 • Rust 包仓库 178/week @ 2024-03-16 • Rust 包仓库 16/week @ 2024-03-23 • Rust 包仓库 53/week @ 2024-03-30 • Rust 包仓库 12/week @ 2024-04-06 • Rust 包仓库

每月下载量 123

MIT 许可证

41KB
693 代码行

mbarc-map

最小阻塞、原子引用计数的映射

Crates.io MIT licensed

API 文档

此包中实现的映射的动机是为并发使用提供更好的映射。这特别试图解决两个特定问题

  • 需要在不需要锁定整个映射的情况下引用映射元素
  • 映射中存储的数据应该以尽可能缓存友好的方式存储,以实现高效的迭代

单独来看,这些要求并不大,但要在满足 Rust 的情况下同时实现这两个特性,最终变得足够复杂,值得封装,从而导致了 MbarcMap 的创建。您可以将 MbarcMap<T,U> 视为一个缩写: Mutex<HashMap<T,Arc<Mutex<U>>>>,然而,它还涉及更多内容,特别是关于指针安全性(存储的值永远不会移动)、内存布局(数据存储在连续块中)和迭代器(在迭代映射的同时可以安全地修改映射)。

无运行时依赖