
高并发内存池
文章平均质量分 95
高并发内存池,它的原型是google的一个开源项目tcmalloc,tcmalloc全称 Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free)
CILMY23
一名在读大三生,努力分享自己所学。
个人分享:我们必须选择自己想成为什么样的人,不是一次性地选择,而是重复地一而再地做出选择,终其一生。
注:周一到周五更新,周末回私信。
展开
-
【C++项目设计】4.高并发内存池 -- thread cache 的整体设计及代码实现
在上上一篇我们实现了定长内存池的代码,我们也清楚的知道了定长内存池如何分配内存,回收内存,分配对象和释放对象,并且使用自由链表来管理切好使用的小块内存,本期我们将从定长内存池代码的基础上进一步扩展代码,从而实现thread cache的设计。我们可以回顾一下定长内存池,首先定长内存池只支持固定大小内存块的申请释放,因此定长内存池中只需要一个自由链表管理释放回来的内存块。原创 2025-03-22 14:38:01 · 642 阅读 · 0 评论 -
【C++】哈希表和哈希桶
我们可以举个例子来深刻理解一下哈希假设哈希函数为 h(x) = x % 10:当我们输入 5,哈希值为 5 % 10 = 5。当我们输入 15,哈希值为 15 % 10 = 5。这样无论有多少长度的输入,只要末尾是5,那它就会被放到同一栏当中。这有点像抽屉,符合的我就统统丢进来,不符合的我就统统分类放到其他抽屉里。所以这里一共有三部分,哈希的输入,哈希函数,哈希值。原创 2025-02-07 11:29:34 · 578 阅读 · 0 评论 -
【C++】3.高并发内存池的整体框架
博客主题:高并发内存池的整体框架。原创 2025-02-07 11:29:04 · 632 阅读 · 0 评论 -
【C++】2.高并发内存池 -- 如何设计一个定长内存池
上期我们说到malloc,我们知道malloc,在C/C++中动态申请内存都是通过malloc去申请内存, 并且malloc就是一个内存池。但是malloc因为要兼容通用,它什么场景下都可以用,但是什么场景下都可以用就意味着什么场景下都不会有很高的性能,所以我们要设计一个针对点一定场景下的内存池,来实现高性能。所以本期我们就先设计一个定长内存池,先熟悉一下简单内存池是如何控制的,第二他会作为我们后面高并发内存池的一个基础组件。那定长内存池就是针对固定大小。原创 2025-02-05 11:55:26 · 600 阅读 · 0 评论 -
【C++】1.高并发内存池项目介绍、什么是内存池
当前项目是实现一个高并发的内存池,它的原型是google的一个开源项目tcmalloc,tcmalloc全称 Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free)。我们这个项目是把tcmalloc最核心的框架简化后拿出来,模拟实现出一个自己的高并发内存池,目的就是学习tcamlloc的精华。tcmalloc是全球大厂google开源的,我们可以通过这个链接查看tcmalloc相关的一些情况。原创 2025-02-05 11:54:10 · 733 阅读 · 0 评论