一种Linux多线程应用下内存池的设计与实现  被引量:5

Design and implement of memory pool under multi-thread of Linux

在线阅读下载全文

作  者:许健[1] 于鸿洋[1] 

机构地区:[1]电子科技大学电子科学技术研究院,四川成都611731

出  处:《电子技术应用》2012年第11期146-149,共4页Application of Electronic Technique

基  金:广东省高新技术产业化项目(2009A010100001)

摘  要:对内存池中内存块获取、分配机制、内存块大小、内存释放,以及在多线程环境下的安全处理等细节进行了研究,保证了在多线程环境下能够快速同时采用一种基于数组的链表机制,改进内存池中内存块的查找算法,将其时间复杂度稳定在O(1),避免了传统内存池中请求的线程数目过多时,引发的获取内存块性能下降的问题。同时在内部设置管理线程,动态增加或删除空闲的内存块。实验结果表明,改进后的内存池与传统的内存分配方式相比消耗更小,效率更好。After much research on the allocate and gain mechanism , dynamic adjustment, safety use, free method, the basic size of the memory block ensure it's can work well in mutli-mem enviorment. Meanwhile, using a mechanism of array-based linked list to improve the searching and allocation algorithm in the memory pool, making the time complexity stable at 0(1),and avoid the degradation of allocation and query performance when aquired memory mem number is too large in the traditional mem pool. Experimental results show that the improved memory pool has a smaller cost and better efficiency compared with the traditional memory distribution.

关 键 词:内存池 内存块查找算法 LINUX 多线程 

分 类 号:TP31[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象