malloc

malloc维护一个双链表 ,新节点放在链头,

free(p)时,根据p, 前32个字节处是链表节点,把其从双链表中删去。

保护机制:每个内存块的头尾各4字节,加上了no-mans-land(fd fd fd fd), 块内容初始化为cd cd. 也带来了分配时初始化和释放时检验的开销。

最底下用了HeapAlloc(_crtheap,...)

_MT:多线程锁

为什么要有双链表? 不知道!!

 

你可能感兴趣的:(多线程)