高并发内存池的介绍

项目介绍

当前高并发内存池的原型是Google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc,free)。

我们的高并发内存池的项目只是把tcmalloc最核心的框架简化后拿出来,模拟实现出一个自己的高并发内存池,目的就是学习tcmalloc的精华。

这个项目会用到C/C++、数据结构(链表、哈希桶)、操作系统内存管理、单例模式、多线程、互斥锁等等方面的知识,加油吧。

池化技术

所谓的“池化技术”就是程序向系统申请过量的资源,然后自己来管理,以备不时之需。这样就不需要每次都要去向系统申请,提前申请好,大大提高了程序的运行效率。
在计算机中,很多地方都使用“池”这种技术,如,内存池、连接池、线程池、对象池。

内存池

内存池是指程序预先向操作系统申请一块足够大的内存,此后,当程序中需要申请内存的时候,不是直接向操作系统申请,而是直接从内存池中获取;同理,当程序释放内存时,并不是将内存还给操作系统,而是还给内存池。当程序退出(或特定的时间)时,内存池才将之前的内存正真释放。

内存池主要解决的问题

  • 效率问题
  • 内存碎片问题

内存碎片分为内碎片和外碎片,外碎片的一些空闲的连续内存区域太小,这些内存空间不够连续,不能满足一些内存分配申请的需求。内碎片是由于一些对齐规则的需求,导致分配出去的空间中一些内存无法被利用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世_生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值