目录
第一版:定义结构体保存申请空间的地址和大小,并且用链表串联起来。
第三版:每个小块,在申请空间时,都申请一个完整的4k的内存,在申请的4k内存上进行划分。
1、内存池的基本思路
(1)思想:1、将申请的内存进行统一管理 2、减少碎块出现 3、减少内存的申请和释放 4、尽可能使得内存连续。
(2)问题:内存使用的不连续,需要跳转;不断划分内存块的时候,会将大内存划分成了多个碎块,而碎块又不好回收,定位时也不好看问题。
(3)优势:减少内存的频繁申请和释放,减少碎块,减少内存使用的不连续性,能管理自己使用的所有内存。
(4)主要是针对小块内存的管理,小于512B的内存等,小块的频繁申请和释放,容易造成大块内存的不连续,导致碎块出现。(大块内存容易处理,页存储的大小是4K)
(5)用于内存管理的内存池的结构体对象也应该纳入内存池管理起来。
(6)安全问题。只能由一个线程去操作这个线程池。