背景
新版golang中mcentral中存储的已经不是span的列表,而是partial/full两个类中,[2]spanSet。如下所示:
type mcentral struct {
spanclass spanClass
partial [2]spanSet // list of spans with a free object
full [2]spanSet // list of spans with no free objects
}
本文将解析spanSet如何管理span
spanSet详解
结构体
官方解释:spanSet是*mspans的set集合,可以通过pop、push来获得spans。
对spine可以理解为一个固定长度的块,spanSet在内存