鉴于C/C++动态分配释放内存的效率。
有尊严和明智的程序员往往采用自己的方案进行内存的管理。
场景:
1. 数据的存储和使用是顺序的(FIFO模式)
例如: 网络数据的传输, 音视频的编码等。
解决方案: 环形缓冲区(ringbuffer)
2.数据的存储和使用是随机的
例如: 图片的缓冲( 图片的存储和使用时随机的)
解决方案: 内存池 (根据缓冲数据的大小,可以分为固定大小的内存池 和 通用内存池)
参考网址:
http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.html
http://blog.csdn.net/whinah/article/details/4715879
http://eli.thegreenplace.net/2008/10/17/memmgr-a-fixed-pool-memory-allocator/