知识卡片

MCentral做跨线程平衡

专业/工作 · 470.b.1.a.1.c.3.a.6.a.2.d.1.a.1.b.1.a.2.a.5.a.1

内容

mcentral 在多个线程之间平衡可复用内存单元,连接本地缓存和全局堆。发散:分配器需要快路,也需要中层把局部余缺重新调平。再向上则由[[MHeap管理大块内存]]兜底。

参考来源

- 位置:《Go语言入门到实战(共3册)》第41章《Go语言学习笔记:第16章 内存分配》(源文件:_epub-src/text/part0099.html) - 结论依据:原文围绕“mcentral.go”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:central [_NumSizeClasses]struct { mcentral mcentral } } mcentral.go type mcentral struct { sizeclass int32 // 规格 nonempty mspan // 链表:尚有空闲object的span……