![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高并发内存池
文章平均质量分 71
世_生
妥妥的一枚小白,喜欢记录学习笔记。
展开
-
高并发内存池(2)
从零实现一个高并发内存池高并发内存池整体框架设计申请内存部分高并发内存池-Thread Cache高并发内存池-Central Cache 高并发内存池整体框架设计 现在很多的开发环境都是多核多线程,在申请内存的场景下,必然存在激烈的锁竞争问题。malloc本身就已经很优秀了,那么我们的项目原型tcmalloc就是在多线程高并发的场景下更胜一筹,所以这次我们实现的内存池要考虑几个方面。 性能问题 在多线程下,锁竞争问题 内存碎片问题 concurrent memory pool主要由下面3个部分组成:原创 2022-03-12 13:32:26 · 1063 阅读 · 0 评论 -
开胃菜-定长内存池(1)
从零实现一个高并发内存池定长内存池性能测试 定长内存池 介绍:向操作系统申请一块足够的内存,并以链表的方式来连接,该内存只能被固定的类型所申请。 windows和Linux下如何直接向堆申请页为单位的大块内存: VirtualAlloc 框架: _memory:先向操作系统申请一块足够大的空间,我们需要一个指针来指向这块空间。 _freelist:程序释放空间时,我们不用还给操作系统,而是用自由链表来连接起来,当下次申请空间时,先在自由链表中找,我们需要一个指针来指向链表的头部。 bySize:表示_me原创 2022-03-11 15:32:04 · 765 阅读 · 0 评论 -
高并发内存池的介绍
从零实现一个高并发内存池项目介绍池化技术内存池内存池主要解决的问题 项目介绍 当前高并发内存池的原型是Google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc,free)。 我们的高并发内存池的项目只是把tcmalloc最核心的框架简化后拿出来,模拟实现出一个自己的高并发内存池,目的就是学习tcmalloc的精华。 这个项目会用到C/C++、数据结构(链表、原创 2022-03-11 10:12:58 · 248 阅读 · 0 评论