[PRO]内存池
内存池
1 介绍
什么是内存池
内存池是一种预分配内存并进行重复利用的技术。减少动态内存的分配与释放,提升程序运行效率。本质上是申请一块较大的内存,之后在应用层对这块内存进行管理,减少系统调用的开销。
优点
- 减少动态内存分配的开销
 - 避免内存碎片
 - 降低系统调用频率
 - 稳定分配时间
 
缺点
- 初始内存占用较大
 - 复杂
 - 不适合大型对象
 
应用场景
- 高频小对象分配
- 游戏开发:粒子、子弹、npc等
 - 网络编程
 
 - 实时系统:内存池分配内存时间稳定,适合实时控制系统
 - 高性能计算
 
2 前置知识
2.1 std::allocator
2.2 自旋锁
自旋锁是一种轻量级的锁机制,用于实现线程同步。他不会进入阻塞状态,而是不断尝试获取锁,避免了上下文切换的开销。
| 自旋锁 | 互斥锁 | 
|---|---|
| 忙等 | 阻塞 | 
| 适合持锁时间很短 | 适合持锁时间长 | 
| 无需上下文切换,性能高 | 需要上下文切换,开销大 | 
[PRO]内存池
      https://erlsrnby04.github.io/2025/02/15/PRO-内存池/