简单内存池实现

源码下载,实现

实现思想:

1. 首先预先分配4M Byte的空间用来作为内存池进行操作

2. 将这个预先分配的4M内存进行块划分,比如分配出132个64字节的内存块,10个160K字节的内存块

3. 获取内存时,在池子中寻找最接近请求的大小的内存块中取出一块,然后标记为占用,比如请求16个字节的空间,那么从64字节的空间中拿出一块供其使用,再比如申请一个65字节的空间,那么从128字节的空间中取出一块供其使用。

4. 如果获取的内存超过160K大小,那么直接从系统的堆中获取

5. 释放时,只是标记此块内存可再次使用

6. Linux下,线程安全。

posted on 2014-06-14 11:26  eric.geoffrey  阅读(162)  评论(0编辑  收藏  举报

导航