码迷,mamicode.com
首页 > 编程语言 > 详细

自定义内存池(C++需要掌握)

时间:2016-01-29 16:02:15      阅读:498      评论:0      收藏:0      [点我收藏+]

标签:

程序通过系统的内存分配一次性申请适当大小的内存作为一个内存池,之后应用程序自己对内存的分配和释放则可以通过这个内存池来完成。只有当内存池需要动态扩张时,才需要系统再调用内存分配函数,其它时间对内存的一切掌握都在应用程序的掌握之中。

从线程安全角度,内存池可以分为单线程内存池和多线程池

单线程内存池:单线程内存池在整个生命周期只被一个线程使用,因而不需要考虑互斥问题

多线程内存池:多线程内存池可能被多个线程共享,因此则需要在每次分配和释放内存时加锁。

一般而言,单线程内存池性能更好,而多线程内存池适用范围更广。

从内存池可分配内存单元来分:固定内存池和可变内存池

固定内存池:指应用程序每次从内存池中分配出的内存单元大小事先已经确定,是固定不变的

可变内存池:每次分配的内存单元大小可以按需变化

可变内存池应用范围更广,而性能比固定内存池要低。

http://blog.csdn.net/chexlong/article/details/7071922

自定义内存池(C++需要掌握)

标签:

原文地址:http://www.cnblogs.com/wxquare/p/5168835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!