資源簡(jiǎn)介
緩沖池 操作系統(tǒng)課設(shè) 實(shí)現(xiàn)了一個(gè)循環(huán)緩沖隊(duì)列,讀線程從緩沖隊(duì)列中讀取數(shù)據(jù),寫線程向緩沖隊(duì)列放入數(shù)據(jù)。可以運(yùn)用在在網(wǎng)絡(luò)文件傳輸或者本地文件復(fù)制。
代碼片段和文件信息
#include?
#include?“f:\bufferpool\Queue.h“
using?namespace?std;
using?std::cin;
using?std::cout;
using?std::string;
using?std::endl;
int?main()
{int?ijbuffer;
SqQueue?QQ1Q2;
????int?Input(SqQueue?&QSqQueue?&Q1);
????int?Inget(SqQueue?&QSqQueue?&Q1);
????int?Output(SqQueue?&QSqQueue?&Q2);
????int?Outget(SqQueue?&QSqQueue?&Q2);
????InitQueue(Q);???//創(chuàng)建空緩沖隊(duì)列
????InitQueue(Q1);??//創(chuàng)建輸入隊(duì)列
????InitQueue(Q2);??//創(chuàng)建輸出隊(duì)列
????cout<<“請(qǐng)輸入緩沖區(qū)空位的總數(shù)目:“;
???cin>>buffer;
???cout<<“緩沖區(qū)共有“< ????for(j=0;j ????cout?<“請(qǐng)輸入所選進(jìn)程的代號(hào):“< ????while(1)
{
cout<<“????????????1:收容輸入??????????“?<cout<<“????????????2:提取輸入??????????“?<cout<<“????????????3:收容輸出??????????“?<cout<<“????????????4:提取輸入??????????“?<cout<<“????????????5:退出???????????????“?<cin>>i;
switch(i)
{
case?1:Input(QQ1);?break;//功能選項(xiàng)
case?2:Inget(QQ1);?break;
case?3:Output(QQ2);?break;
case?4:Outget(QQ2);?break;
case?5:return?0;
}
}
????return?0;
}
int?Input(SqQueue?&QSqQueue?&Q1)
{int?e;
????if(QueuLength(Q)>0)?{?cout<<“正在執(zhí)行收容輸入操作“< ????????????????????e=DeQueue(Qe);EnQueue(Q1e);
????????????????????cout<<“緩沖池中有“< ????????????????????cout<<“輸入隊(duì)列中有“< ????if(QueuLength(Q)==0)?cout<<“緩沖池中的數(shù)據(jù)已空,不能再收容數(shù)據(jù)“< }
int?Inget(SqQueue?&QSqQueue?&Q1)
{int?e;
????if(QueuLength(Q1)>0){cout<<“正在執(zhí)行提取輸入操作“< ????????????????e=DeQueue(Q1e);EnQueue(Qe);
????????????????cout<<“緩沖池中有“< ????????????????cout<<“輸入隊(duì)列中有“< ????if(QueuLength(Q1)==0)?cout<<“輸入隊(duì)列中的數(shù)據(jù)已空,不能再提取數(shù)據(jù)“< }
int?Output(SqQueue?&QSqQueue?&Q2)
{int?e;
????if(QueuLength(Q)>0)?{?cout<<“正在執(zhí)行收容輸出操作“< ????????????????????e=DeQueue(Qe);EnQueue(Q2e);
????????????????????cout<<“緩沖池中有“< ????????????????????cout<<“輸出隊(duì)列中有“< ????if(QueuLength(Q)==0)?cout<<“緩沖池中的數(shù)據(jù)已空,不能再收容數(shù)據(jù)“< }
int?Outget(SqQueue?&QSqQueue?&Q2)
{int?e;
????if(QueuLength(Q2)>0){cout<<“正在執(zhí)行提取輸出操作“< ????????????????e=DeQueue(Q2e);EnQueue(Qe);
????????????????cout<<“緩沖池中有“< ????????????????cout<<“輸出隊(duì)列中有“< ????if(QueuLength(Q2)==0)?cout<<“輸出隊(duì)列中的數(shù)據(jù)已空,不能再提取數(shù)據(jù)“< }
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????608683??2010-12-31?17:10??bufferpool\bin\Debug\system.exe
?????文件?????????44??2009-11-26?10:04??bufferpool\ElemType.h
?????文件???????2677??2010-12-31?17:09??bufferpool\main.cpp
?????文件?????121416??2010-12-31?17:10??bufferpool\obj\Debug\main.o
?????文件???????7036??2010-12-31?17:10??bufferpool\obj\Debug\Queue.o
?????文件????????723??2010-12-31?17:10??bufferpool\Queue.cpp
?????文件????????349??2010-12-31?17:10??bufferpool\Queue.h
?????文件???????1198??2010-05-25?09:55??bufferpool\system.cbp
?????文件???????1534??2010-12-07?16:10??bufferpool\system.depend
?????文件????????542??2010-12-07?16:11??bufferpool\system.layout
?????文件????????206??2010-12-28?15:53??bufferpool\system.workspace
?????目錄??????????0??2010-12-07?16:11??bufferpool\bin\Debug
?????目錄??????????0??2010-12-07?16:11??bufferpool\obj\Debug
?????目錄??????????0??2010-12-07?16:11??bufferpool\bin
?????目錄??????????0??2010-12-07?16:11??bufferpool\obj
?????目錄??????????0??2010-12-07?16:11??bufferpool
-----------?---------??----------?-----??----
???????????????744408????????????????????16
- 上一篇:EDULINE在線教育系統(tǒng)
- 下一篇:linux安全加固
評(píng)論
共有 條評(píng)論