void* b = ConcurrentAlloc((size_t)257 * 1024);
void *a=ConcurrentAlloc(1);
ConcurrentFree(b);
ConcurrentFree(a);

只创建了一个线程,由于第一次已经超限,所以第二次无法分配
void *a=ConcurrentAlloc(1);
void* b = ConcurrentAlloc((size_t)257 * 1024);
ConcurrentFree(a);
ConcurrentFree(b);

可以看到线程只有一个,由于创建的线程首先分配了1的内存 ,大内存虽然申请了下来,却无法释放
void* b = ConcurrentAlloc((size_t)257 * 1024);
ConcurrentFree(b);
但是大内存其实根本没有申请出来
static void ConcurrentFree(void* ptr)
{
span* span1 = Pagecache::GetInstance()->MapObjectToSpan(ptr);
size_t size = span1->objsize;
cout << size << endl;
if (size > Max


3645

被折叠的 条评论
为什么被折叠?



