1.一種內(nèi)存管理裝置,其特征在于,包括:
創(chuàng)建模塊,用于創(chuàng)建定長數(shù)組,為定長數(shù)組的各元素分配存儲空間,所述定長數(shù)組使用環(huán)形隊(duì)列數(shù)據(jù)結(jié)構(gòu);
設(shè)置模塊,用于設(shè)置一個基于所述環(huán)形隊(duì)列的用于標(biāo)識下一寫入位置的標(biāo)識指針;
寫數(shù)據(jù)模塊,用于當(dāng)寫數(shù)據(jù)時,通過競爭獲取所述標(biāo)識指針,向所述標(biāo)識指針對應(yīng)的寫入位置寫入數(shù)據(jù);使所述標(biāo)識指針跳轉(zhuǎn)到下一寫入位置,釋放所述標(biāo)識指針;
讀數(shù)據(jù)模塊,用于當(dāng)讀數(shù)據(jù)時,基于所述環(huán)形隊(duì)列依次順序讀取數(shù)據(jù),并更新當(dāng)前讀取位置;
確保模塊,用于在所述寫數(shù)據(jù)和讀數(shù)據(jù)的過程中,確保所述標(biāo)識指針與所述當(dāng)前讀取位置處于環(huán)形隊(duì)列中的不同位置。
2.如權(quán)利要求1所述的內(nèi)存管理裝置,其特征在于,所述定長數(shù)組的元素的數(shù)量為2的指數(shù)倍。
3.如權(quán)利要求1所述的內(nèi)存管理裝置,其特征在于,所述寫數(shù)據(jù)模塊還用于:通過多線程分別執(zhí)行CAS控制指令競爭獲取所述標(biāo)識指針。
4.如權(quán)利要求1-3任一項(xiàng)所述的內(nèi)存管理方法,其特征在于,所述確保模塊還用于:
設(shè)置一個大于等于1的寫操作等待閾值;
在寫數(shù)據(jù)時,當(dāng)寫位置差值小于等于所述寫操作等待閾值時,暫停寫數(shù)據(jù)操作,所述寫位置差值為所述標(biāo)識指針沿著環(huán)形隊(duì)列的數(shù)據(jù)方向上與所述當(dāng)前讀取位置之間的位置差值;
監(jiān)控所述寫位置差值,并在所述寫位置差值大于所述寫操作等待閾值時重啟寫數(shù)據(jù)操作。
5.如權(quán)利要求1-3任一項(xiàng)所述的內(nèi)存管理裝置,其特征在于,所述確保模塊還用于:
設(shè)置一個大于等于1的讀操作等待閾值;
在讀數(shù)據(jù)時,當(dāng)讀位置差值小于等于所述讀操作等待閾值時,暫停讀數(shù)據(jù)操作,所述讀位置差值為所述當(dāng)前讀取位置沿著環(huán)形隊(duì)列的數(shù)據(jù)方向上與所述標(biāo)識指針之間的位置差值;
監(jiān)控所述讀位置差值,并在所述讀位置差值大于所述讀操作等待閾值時重啟讀數(shù)據(jù)操作。
6.一種內(nèi)存管理方法,其特征在于,包括:
創(chuàng)建定長數(shù)組,并為定長數(shù)組的各元素分配存儲空間,所述定長數(shù)組使用環(huán)形隊(duì)列數(shù)據(jù)結(jié)構(gòu);
設(shè)置一個基于所述環(huán)形隊(duì)列的用于標(biāo)識下一寫入位置的標(biāo)識指針;
當(dāng)寫數(shù)據(jù)時,通過競爭獲取所述標(biāo)識指針,向所述標(biāo)識指針對應(yīng)的寫入位置寫入數(shù)據(jù);使所述標(biāo)識指針跳轉(zhuǎn)到下一寫入位置,釋放所述標(biāo)識指針;
當(dāng)讀數(shù)據(jù)時,基于環(huán)形隊(duì)列依次順序讀取數(shù)據(jù),并更新當(dāng)前讀取位置;
在所述寫數(shù)據(jù)和讀數(shù)據(jù)的過程中,確保所述標(biāo)識指針與所述當(dāng)前讀取位置處于環(huán)形隊(duì)列中的不同位置。
7.如權(quán)利要求6所述的內(nèi)存管理方法,其特征在于,所述定長數(shù)組的元素的數(shù)量為2的指數(shù)倍。
8.如權(quán)利要求6所述的內(nèi)存管理方法,其特征在于,所述當(dāng)寫數(shù)據(jù)時,通過競爭獲取所述標(biāo)識指針包括:通過多線程分別執(zhí)行CAS控制指令競爭獲取所述標(biāo)識指針。
9.如權(quán)利要求6-8任一項(xiàng)所述的內(nèi)存管理方法,其特征在于,所述在寫數(shù)據(jù)過程中,確定所述標(biāo)識指針與所述當(dāng)前讀取位置處于環(huán)形隊(duì)列中的不同位置包括:
設(shè)置一個大于等于1的寫操作等待閾值;
在寫數(shù)據(jù)時,當(dāng)寫位置差值小于等于所述寫操作等待閾值時,暫停寫數(shù)據(jù)操作,所述寫位置差值為所述標(biāo)識指針沿著環(huán)形隊(duì)列的數(shù)據(jù)方向上與所述當(dāng)前讀取位置之間的位置差值;
監(jiān)控所述寫位置差值,并在所述寫位置差值大于所述寫操作等待閾值時重啟寫數(shù)據(jù)操作。
10.如權(quán)利要求6-8任一項(xiàng)所述的內(nèi)存管理方法,其特征在于,所述在讀數(shù)據(jù)過程中,確定所述標(biāo)識指針與所述當(dāng)前讀取位置處于環(huán)形隊(duì)列中的不同位置包括:
設(shè)置一個大于等于1的讀操作等待閾值;
在讀數(shù)據(jù)時,當(dāng)讀位置差值小于等于所述讀操作等待閾值時,暫停讀數(shù)據(jù)操作,所述讀位置差值為所述當(dāng)前讀取位置沿著環(huán)形隊(duì)列的數(shù)據(jù)方向上與所述標(biāo)識指針之間的位置差值;
監(jiān)控所述讀位置差值,并在所述讀位置差值大于所述讀操作等待閾值時重啟讀數(shù)據(jù)操作。