1. 程式人生 > >linux下的一個簡單執行緒安全記憶體池實現

linux下的一個簡單執行緒安全記憶體池實現

這裡提供一個簡單執行緒安全記憶體池, 基於linux pthread 如下圖:
這裡寫圖片描述

具體的資料結構:

   typedef struct LocMap{
    char * point;
    int len;
    }LOCMAP;//每個資料塊的起始指標和大小

    int size; //記憶體池的大小
    int datanum; //記憶體池內資料
    int freemem; //剩餘空間
    std::vector<LocMap> memmap; //儲存每個塊結構
    char *beginpoint; //記憶體池的起始地址
    char *curpoint; //當前記憶體池空閒起開始地址