内存区和内存池有什么区别?

8

我见过这两个术语用于内存分配器的包装器,它们有什么区别吗?(如果有的话)


你喜欢“竞技场”还是更愿意在“泳池”里畅游? - David C. Rankin
4
在竞技场中,你必须与其他程序争夺记忆空间。在泳池里,每个人都在游泳、漂浮或下沉。但是,没有救生员值勤,所以如果遇到麻烦,你必须自己处理。 :-) - Makyen
2个回答

9
这个页面上的顶级回答如下所述:
“内存池”通常意味着从中分配较小内存块的大块内存(或内存集合)。这种东西也经常用“池”一词来描述。
因此,基本上它们是指同一件事情,只是用于描述同一概念的不同术语。

1
区域性内存管理中的内存槽有时被称为"arena",有时被称为"pool"。 "pool"不仅用于本地C/C++代码中的本地原始内存管理,而且还用于JVM中保持热内存并最小化GC暂停的延迟影响。
现在已经不同了,不应该再称之为"对象池",而应该像Rust一样称之为"arena",以避免混淆。https://manishearth.github.io/blog/2021/03/15/arenas-in-rust/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接