-
大小: 9KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-05
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
有關(guān)銀行家算法,用C++實(shí)現(xiàn),整個(gè)系統(tǒng)可以直接使用。

代碼片段和文件信息
#include?“sue.h“
int???????????????g_Readercount=0;??????//讀者數(shù)(全局變量)初始化為0
CRITICAL_SECTION??cs_WriteCs;???????//寫(xiě)臨界區(qū)對(duì)象
CRITICAL_SECTION??cs_ReadCs;????????//讀臨界區(qū)對(duì)象
void?main(void)
{
FILE?*pFile=NULL;
if((pFile=fopen(“c:\\sue.txt““w“))/*建立一個(gè)新文本文件*/==NULL)
{
cout<<“Cannot?create?this?file!“< exit(0);?????//如果創(chuàng)建文件失敗則提示
}
????fclose(pFile);?//關(guān)閉文件
????InitializeCriticalSection(&cs_WriteCs);
????InitializeCriticalSection(&cs_ReadCs);???///初始化臨界區(qū)對(duì)象
????HANDLE?hThread[5];
????DWORD??IDThread[5];??/////創(chuàng)建線程////////
????for(int?i=0;?i<5;?i++)
{
if(i==0)
{
hThread[i]=CreateThread(NULL
?????????????????????????0
?(LPTHREAD_START_ROUTINE)AddThread
???????????????????????????????????????NULL
?0
??????????&IDThread[i]);?//添加記錄線程
}
else?if(i==1)
{
hThread[i]=CreateThread(NULL
?????????????????????????0
?(LPTHREAD_START_ROUTINE)DeleteThread
???????????????????????????????????????NULL
?0
?&IDThread[i]);?//刪除記錄線程?
}
else?
{
hThread[i]=CreateThread(NULL
?????????????????????????0
?(LPTHREAD_START_ROUTINE)ReadThread
?????????????????????????????????????(void?*)i
?0
?&IDThread[i]);?//讀文件線程
}
?????????if?(hThread[i]?==?NULL)???//線程創(chuàng)建失敗
????cout?<“CreateThread?error“?< ?????else
????cout?<“CreateThread:?“?< }
cout< ????
//等待線程結(jié)束
WaitForMultipleobjects(5hThreadTRUEINFINITE);
DeleteCriticalSection(&cs_WriteCs);
DeleteCriticalSection(&cs_ReadCs);????////刪除臨界區(qū)對(duì)象
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄??????????0??2004-12-16?13:15??ossue(VC++工程)
?????文件??????58368??2006-03-05?23:39??ossue(VC++工程)\ossue.ncb
?????文件????????253??2004-12-15?23:23??ossue(VC++工程)\sue.h
?????文件???????1348??2006-03-05?23:01??ossue(VC++工程)\ossue.plg
?????文件???????4389??2004-12-15?23:27??ossue(VC++工程)\ossue.dsp
?????文件????????533??2004-12-16?13:15??ossue(VC++工程)\ossue.dsw
?????目錄??????????0??2004-12-15?23:22??ossue(VC++工程)\Debug
?????文件???????1715??2004-12-16?13:19??ossue(VC++工程)\mult.cpp
?????文件???????5382??2004-12-16?13:22??ossue(VC++工程)\sue.cpp
?????文件??????????2??2006-03-05?23:01??ossue(VC++工程)\sue.txt
?????文件??????53760??2006-03-05?23:39??ossue(VC++工程)\ossue.opt
-----------?---------??----------?-----??----
???????????????125968????????????????????12
評(píng)論
共有 條評(píng)論