源码下载,实现
实现思想:
1. 首先预先分配4M Byte的空间用来作为内存池进行操作
2. 将这个预先分配的4M内存进行块划分,比如分配出132个64字节的内存块,10个160K字节的内存块
3. 获取内存时,在池子中寻找最接近请求的大小的内存块中取出一块,然后标记为占用,比如请求16个字节的空间,那么从64字节的空间中拿出一块供其使用,再比如申请一个65字节的空间,那么从128字节的空间中取出一块供其使用。
4. 如果获取的内存超过160K大小,那么直接从系统的堆中获取
5. 释放时,只是标记此块内存可再次使用
6. Linux下,线程安全。