百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

generational-arena

> 编程语言
开源

一种安全的区域分配器,它通过使用代际索引来解决 ABA 问题,从而允许删除操作。

693 stars0 点赞1 次浏览
访问官网GitHub

工具介绍

一种安全的区域分配器,它通过使用代际索引来解决 ABA 问题,从而允许删除操作。

generational-arena

这是一种安全的区域分配器,它通过使用代际索引来避免 ABA 问题 而不受影响。灵感来自 Catherine West 在 RustConf 2018 的闭幕主题演讲,其中这些想法(以及更多!) 都在游戏编程的实体-组件-系统上进行了介绍。

使用共享所有权与内部可变性(即 Rc 或 Arc)或借用引用(即 &a T或&a mut T)来表示结构是没有意义的。循环排除引用计数类型,而所需的共享可变性排除了借用。此外,生命周期是动态的,不遵循借用数据比借用者更长寿命的规则。在这样的情况下,人们很容易想到将对象存储在 Vec 中,并通过它们的索引相互引用。不再有借用检查器或所有权问题了!通常,这种解决方案就足够了。

  • 破坏了删除元素之后的每个元素的索引,或者

  • obj1 尝试在索引 i 上获取 obj2, 但错误地得到 obj3, 而实际上应该失败。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言