热门问题
时间线
聊天
视角

自由表

印象北歐俱樂部莊園 来自维基百科,自由的百科全书

Remove ads

自由表(英語:free list[1]是一種用來實現特定動態內存分配方案的數據結構,也稱自由列表。自由表的核心原理是將若干未分配的內存塊用鍊表連接起來,將未分配區域的第一個作為指向下一個未分配區域的指針使用。自由表非常適合用來實現內存池,因為內存池中對象的大小都是相同的。

用自由表實現內存的分配和回收非常簡單:回收內存時只需將內存塊鏈入自由表;分配時也只需從自由表的一端取下即可直接使用。如果內存塊的大小不一,則分配前還需要在自由表中搜索足夠大的內存塊,可能有一定的額外消耗。

因為自由表使用了鍊表結構,所以也繼承了它的劣勢:訪問局部性低下,難以利用緩存

另見

參考資料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads