百合文库
首页 > 网文

LevelDB(1):内存的申请与释放(arena.cc)(3)

2024-06-14 来源:百合文库
申请空间函数,直接new一个指针然后返回,并且将这个指针的起始位置存到blocks_数组中。
Allocate是申请函数,首先判断剩余的字节数是否足够,如果足够直接 ,不够就需要申请一个新的块(调用AllocateFallback)

LevelDB(1):内存的申请与释放(arena.cc)


AllocateFallback函数先比较一下申请字节数,如果申请字节数>kBlockSize/4,那么就申请bytes个字节的空间,否则就申请kBlockSize的字节空间,其中kBlockSize是自定义的字节数,默认为4096。

LevelDB(1):内存的申请与释放(arena.cc)


猜你喜欢