
高并发内存池
文章平均质量分 97
高并发内存池的实现
LuckyRich1
一个正在努力学习的小菜鸡
展开
-
【高并发内存池】细节处理 + 性能优化 + 总结
STL容器是线程不安全的,多线程在并发用unordered_map的时候会有线程不安全的问题,在PageCache中对unordered_map写之前我们加锁了,但是在读unordered_map我们并没有加锁。这样我们就知道通过释放内存块的地址,转变成页号,在找到对应的Span,拿到_objsize就知道这个内存块大小了。写是在PageCache是加过锁的,读的时候就是在释放的时候去读,在读这个Span的时候,这个Span早在拿它的时候就写过了。,所有就减少了读写并发的问题,也就少了很多加锁解锁。原创 2025-03-13 11:04:17 · 1311 阅读 · 129 评论 -
【高并发内存池】释放内存 + 申请和释放总结
释放内存 + 申请和释放总结原创 2025-03-09 10:30:54 · 1269 阅读 · 126 评论 -
【高并发内存池】申请内存
三层缓存原创 2025-03-04 10:08:02 · 945 阅读 · 35 评论 -
【高并发内存池】项目介绍 + 定长内存池 + 整体框架设计
当前项目是实现一个高并发的内存池,他的原型是google的⼀个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free)。我们这个项目是把tcmalloc最核新的框架简化后拿出来,模拟实现出一个自己的高并发内存池,目的就是学习tcamlloc的精华。所谓“池化技术”,就是程序先向系统申请过量的资源,然后自己管理,以备不时之需。原创 2025-03-01 10:27:58 · 1383 阅读 · 196 评论