005.池式结构之内存池

内存池是一种有效的内存管理策略,旨在减少内存碎片、提高内存利用率。从最初的链表结构到按不同大小内存划分,再到每个小块申请4K内存进行划分,内存池逐步优化,解决查找效率和内存连续性问题。线程池代码流程中,内存池对小块内存进行统一管理,通过链表、红黑树或hash表进行组织,并在所有小块空闲时回收4K大块给操作系统。
摘要由CSDN通过智能技术生成

目录

1、内存池的基本思路

2、内存池演进过程

第一版:定义结构体保存申请空间的地址和大小,并且用链表串联起来。

第二版:将内存按不同内存大小串联起来

第三版:每个小块,在申请空间时,都申请一个完整的4k的内存,在申请的4k内存上进行划分。

3、线程池代码流程


1、内存池的基本思路

(1)思想:1、将申请的内存进行统一管理  2、减少碎块出现 3、减少内存的申请和释放 4、尽可能使得内存连续。

(2)问题:内存使用的不连续,需要跳转;不断划分内存块的时候,会将大内存划分成了多个碎块,而碎块又不好回收,定位时也不好看问题。

(3)优势:减少内存的频繁申请和释放,减少碎块,减少内存使用的不连续性,能管理自己使用的所有内存。

(4)主要是针对小块内存的管理,小于512B的内存等,小块的频繁申请和释放,容易造成大块内存的不连续,导致碎块出现。(大块内存容易处理,页存储的大小是4K)

(5)用于内存管理的内存池的结构体对象也应该纳入内存池管理起来。

(6)安全问题。只能由一个线程去操作这个线程池。

2、内存池演进过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值