5 个稳定版本
1.1.1 | 2024 年 5 月 15 日 |
---|---|
1.1.0 | 2024 年 1 月 24 日 |
1.0.2 | 2023 年 12 月 5 日 |
1.0.1 | 2023 年 7 月 31 日 |
1.0.0 | 2023 年 5 月 25 日 |
#447 在 数据结构
每月 302 次下载
9KB
192 行
HArcMut
一个模拟可变 Arc 的库。
我使用一个共享的 RwLock,允许线程间的可写 数据 和一个本地的只读版本以实现更快/最简单的访问。数据 在获取时进行同步(不是在写入时!),以确保在需要时获取更新版本。
数据 需要实现 "Clone" 特性
使用 Parking_lot 和 arc-swap 进行同步
注意:为了安全地清理内存,您需要在每个地方删除每个克隆。为了帮助这样做,您需要检查 "isWantDrop()" 的返回值,并从您的存储中删除本地实例(并对每个持有克隆的系统都这样做)
在线文档
示例
您可以在以下位置查看测试用例作为示例: https://github.com/hyultis/HArcMut/blob/master/tests/tests.rs
许可证
根据以下任一许可证授权:
- Apache 许可证第 2 版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任您选择。
贡献
除非您明确说明,否则根据 Apache-2.0 许可证定义的,您有意提交的任何贡献,包括在作品中包含,都将根据上述方式双许可,没有任何附加条款或条件。
依赖关系
~0.6–5.5MB
~13K SLoC