项目简介: 实现了一个多线程环境下的高并发内存池,多个线程间可以并发无锁地申请内存
开发环境: VS2019、C++
涉及知识: 链表、哈希映射表、单例模式、多线程、TLS 线程本地存储
功能实现: 设计了一个三层缓存结构来实现内存的申请、内存碎片的合并等功能
第 1 层是 ThreadCache,用于申请内存;每个线程独有,因此不需要加锁
第 2 层是 CentralCache,用于均衡多个 ThreadCache 之间的资源;这层申请内存时需要加锁
第 3 层是 PageCache,用于回收已经释放的内存并进行合并,减少内存碎片
项目成果: 在并发环境下,申请内存的效率比 malloc 高 10%-30%