内存池(Memory Pool)

  内存池(Memory Pool)是一种内存分配方式。 通常我们习惯直接使用new、malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能。
  内存池则是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是尽量避免了内存碎片,使得内存分配效率得到提升。

  通俗的讲就是申请内存空间,不释放,每次都循环利用。比如你可以申请多个char数组。(最好大一点,根据需要)以后的程序里面需要使用char型数组时候,就直接拿过来用就行了。下次再需要的时候还可以用它或者换一个用。这样做可以避免不停的new(malloc),delete(free)而产生碎片,还可以提高效率,防止内存泄露。

参考:http://www.cnblogs.com/oiramario/archive/2006/01/10/314354.html

关键字:

1.STL memory pool

posted @ 2012-09-24 20:56  既有缘  阅读(919)  评论(0编辑  收藏  举报