#include ;
#include ;
using
namespace
std;
//類名:環形緩衝區類
//功能:實現任意類的環形緩衝區儲存
template
class ringbuffer
//函式功能:環形緩衝區析構函式
//引數: 無
//返回值: 無
~ringbuffer()
else
if (1==m_maxbufsize)
m_buffer = null;
m_copybuffer = null;
}this->m_mtelement.unlock();
}//函式功能:環形緩衝區析構函式
//引數: const t element[in] -- 要插入的元素
//返回值: 無
else
this->m_mtelement.unlock();
return bret;
}//函式功能:環形緩衝區列印
//引數: const t element[in] -- 要插入的元素
//返回值: 無
bool print()
cout
<< endl;
this->m_mtelement.unlock();
return bret;
}//函式功能:檢查序列中是否包容某個元素
//引數: const t element[in] -- 要檢查的元素
//返回值: bool -- 包含指定元素,則返回true;否則返回false
bool contains(const t element)
}this->m_mtelement.unlock();
return bret;
}//函式功能:獲取指定序列中的值
//引數: const t element[in] -- 要檢查的元素
//返回值: bool -- 包含指定元素,則返回true;否則返回false
t& operator(int index)
private:
int m_maxbufsize; //環形緩衝區容最大長度
int m_curelementnum; //當前元素數量
t* m_buffer; //環形緩衝區
t* m_copybuffer; //複製緩衝區,為了加快速度
mutex m_mtelement; //互斥鎖
};int main()
for (int i = 0; i < 10; i++)
ptempringbuffer->print();
delete ptempringbuffer;
}getchar();
return
0;}
環形緩衝區的實現
乙個簡單的環形緩衝區,沒有寫加解鎖的部分,用於多執行緒的話還是自己加吧.pragma once include stdio.h include stdlib.h include memory.h namespace linker ring bool put elementtype e else bo...
環形緩衝區
include include include include include define buffsize 1024 1024 define min x,y x y x y pthread mutex t lock pthread mutex initializer struct cycle b...
環形緩衝區
define print buf size 16 1024 static char g pcnetprintbuf 環形緩衝區的首位址 static int g ireadpos 0 環形緩衝區讀的位置 static int g iwritepos 0 環形緩衝區寫的位置 intinit 判斷環形緩...