知识卡片
MCentral做跨线程平衡
内容
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……