3 个不稳定版本
0.9.0 | 2024年3月19日 |
---|---|
0.8.1 | 2024年3月14日 |
0.8.0 | 2024年3月10日 |
788 在 并发 中
每月下载量 123
41KB
693 代码行
mbarc-map
最小阻塞、原子引用计数的映射
此包中实现的映射的动机是为并发使用提供更好的映射。这特别试图解决两个特定问题
- 需要在不需要锁定整个映射的情况下引用映射元素
- 映射中存储的数据应该以尽可能缓存友好的方式存储,以实现高效的迭代
单独来看,这些要求并不大,但要在满足 Rust 的情况下同时实现这两个特性,最终变得足够复杂,值得封装,从而导致了 MbarcMap 的创建。您可以将 MbarcMap<T,U>
视为一个缩写: Mutex<HashMap<T,Arc<Mutex<U>>>>
,然而,它还涉及更多内容,特别是关于指针安全性(存储的值永远不会移动)、内存布局(数据存储在连续块中)和迭代器(在迭代映射的同时可以安全地修改映射)。