mysql使用記憶體池結構,理解該結構挺簡單的,但是對於my_alloc.c中的分配過程感覺上很難理解。
/*
data structures for mysys/my_alloc.c (root memory allocator) */
#ifndef
_my_alloc_h
#define
_my_alloc_h
#define
alloc_max_block_to_drop 4096
#define
alloc_max_block_usage_before_drop 10
#ifdef
__cplusplus
extern
"c" used_mem;
//鍊錶首位址,分別維護空閒、使用和預分配的記憶體
typedef
struct st_mem_root
mem_root;
#ifdef
__cplusplus }
#endif
#endif
Ngnix 原始碼學習(3) 記憶體池結構
本篇首先把 記憶體池結構 大概的說一下,具體使用將在下一節細緻描述首先知道記憶體池的作用 為什麼需要記憶體池?a.在大量的小塊記憶體的申請和釋放的時候,能更快地進行記憶體分配 對比malloc和free b.減少記憶體碎片,防止記憶體洩露。記憶體池的原理 記憶體池的原理非常簡單,用申請一塊較大的記憶...
Nginx原始碼剖析 記憶體池結構ngx pool t
struct ngx pool s ngx pool data t 結構 該結構就是包含了操作該記憶體池的資料的一些指標 typedef struct ngx pool data t ngx pool large t 結構 表示大塊記憶體 struct ngx pool large s ngx po...
mysql 執行緒池原始碼 執行緒池原始碼解析
1.前言 我個人覺得理論性的東西可能大家都懂,但是具體的實現細節可能並不是很清楚所以才想記錄一下,加深記憶。2.關鍵原始碼解析 1 ctl private final atomicinteger ctl new atomicinteger ctlof running,0 private static...