亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 多線程模擬哲學家就餐.txt

?? 操作系統各個方面的編程
?? TXT
字號:
操作系統課程設計實驗報告之多線程模擬哲學家就餐問題

多線程模擬哲學家就餐問題 
-----Amoon 2005/09/23 

1)問題描述 

學操作系統的進程同步都要涉及到三個經典問題:生產者-消費者問題、讀者-寫者問題和哲學家就餐問題。下面來介紹一下哲學家就餐問題: 哲學家就餐問題中,一組哲學家圍坐在一個圓桌旁,每個哲學家的左邊都只有一只筷子(當然他的右邊也有一只筷子,但是這是他右邊哲學家的左邊的筷子),他們吃完了就思考,思考了一會就會餓,餓了就想吃,然而,為了吃飯,他們必須獲得左邊和右邊的筷子。當每個哲學家只拿有一只筷子的時候,會坐者等另一只筷子,在每個哲學家都只拿一個筷子的時候,就會發生死鎖。 

2)關于源碼的一點說明: 

應用CRITICAL_SECTION 變量解決數據共享問題。 

3)vc6下源碼如下( 經作者在vc6下測試通過運行 ): 

#include <windows.h> 
#include <process.h> /* _beginthread, _endthread */ 
#include <time.h> 
#include <fstream> 
#include <string> 
#include <iostream> 
#include <assert.h> 
#include <time.h> 

using namespace std; 


ofstream out("out.txt"); 
BOOL b[6];//共享數據,用于表示 5 雙筷子的使用情況,FALSE代表被占用 
CRITICAL_SECTION cs; 

class philosopher 
{ 
private: 
int m_num; //編號 
int m_index; //標示裝態,0-------waiting 1-----eating 2-----thinking 

BOOL m_lhand; //true -----筷子空閑,false----筷子被占用 
BOOL m_rhand; 

public: 
philosopher(int num=0) { m_num=num; m_index=2; m_lhand=TRUE; m_rhand = FALSE ;} 

int GetNum() const { return m_num; } 

int GetStatus() const { return m_index ; } 

void ChangeStatus() ; 
}; 

void philosopher::ChangeStatus() 
{ 
EnterCriticalSection (&cs) ; 

if(m_index==1) //eating----->thinking 
{ 
assert(!b[m_num]); 
b[m_num]=TRUE; 

if( m_num==1) 
{ 
assert(!b[5]); 
b[5]= TRUE; 
} 
else 
b[m_num-1]=TRUE; 

m_index=2; // change to thinking 
srand(time(NULL)*10000); 
Sleep(rand()%10); 
} 

else if( m_index==2) //thinking 
{ 
m_index=0; //change to waiting 

} 
else if( m_index==0) // waiting 
{ 

if(m_num==1) 
{ 
if(b[1]&&b[5]) 
{ 
b[1]=FALSE; 
b[5]=FALSE; 
m_index=1; 
srand(time(NULL)*10000); 
Sleep(rand()%10); 
} 
} 
else 
{ 

if(b[m_num]&&b[m_num-1]) 
{ 
b[m_num]= FALSE; 
b[m_num-1]= FALSE; 
m_index=1; 
srand(time(NULL)*10000); 
Sleep(rand()%10); 
} 
} 


} 
LeaveCriticalSection (&cs) ; 

} 

//ust to out the philosopher info 

string PrintStatus(philosopher *pPh) 
{ 
pPh->ChangeStatus(); 
int i=pPh->GetStatus(); 
string str; 
if(i==0) 
str="Waiting"; 
else if(i==1) 
str="eating"; 
else str="thinking"; 
return str; 
} 

void ThreadFunc1(PVOID param) 
{ 
while(1) 

{ 
philosopher *pPh; 
pPh=( philosopher *) param; 
pPh->ChangeStatus(); 


} 

} 
void ThreadFunc2(PVOID param) 
{ 
while(1) 
{ 
philosopher *pPh; 
pPh=( philosopher *) param; 
pPh->ChangeStatus(); 
} 
} 
void ThreadFunc3(PVOID param) 
{ 
while(1) 
{ 
philosopher *pPh; 
pPh=( philosopher *) param; 
pPh->ChangeStatus(); 
} 
} 
void ThreadFunc4(PVOID param) 
{ 
while(1) 
{ 
philosopher *pPh; 
pPh=( philosopher *) param; 
pPh->ChangeStatus(); 
} 
} 
void ThreadFunc5(PVOID param) 
{ 
while(1) 
{ 
philosopher *pPh; 
pPh=( philosopher *) param; 
pPh->ChangeStatus(); 
} 
} 


int main() 
{ 

for(int j=1;j<=5;j++) b[j]=TRUE; 
out<<b[1]<<b[2]<<b[3]<<b[4]<<b[5]; 
philosopher ph1(1),ph2(2),ph3(3),ph4(4),ph5(5); 
InitializeCriticalSection (&cs) ; 

_beginthread(ThreadFunc1,0,&ph1); 
_beginthread(ThreadFunc2,0,&ph2); 
_beginthread(ThreadFunc3,0,&ph3); 
_beginthread(ThreadFunc4,0,&ph4); 
_beginthread(ThreadFunc5,0,&ph5); 
cout<<"press ctrl+C to exit"; 
while(1) 
{ 
out<<endl<<b[1]<<b[2]<<b[3]<<b[4]<<b[5]<<endl; // use to test 
out<<"The status at :"<<clock()<<" ms "<<endl; 
out<<"哲學家"<<ph1.GetNum() <<"所處狀態:"<<ph1.GetNum()<<"--"<<PrintStatus(&ph1)<<endl; 
out<<"哲學家"<<ph2.GetNum() <<"所處狀態:"<<ph2.GetNum()<<"--"<<PrintStatus(&ph2)<<endl; 
out<<"哲學家"<<ph3.GetNum() <<"所處狀態:"<<ph3.GetNum()<<"--"<<PrintStatus(&ph3)<<endl; 
out<<"哲學家"<<ph4.GetNum() <<"所處狀態:"<<ph4.GetNum()<<"--"<<PrintStatus(&ph4)<<endl; 
out<<"哲學家"<<ph5.GetNum() <<"所處狀態:"<<ph5.GetNum()<<"--"<<PrintStatus(&ph5)<<endl; 

Sleep(20); 
} 

DeleteCriticalSection (&cs) ; 

return 0; 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩黄色影视| 波多野结衣在线一区| 亚洲激情一二三区| 亚洲欧洲另类国产综合| 欧美精品一区二区三区蜜臀| 日韩亚洲欧美中文三级| 日韩区在线观看| 精品国产乱码久久久久久浪潮| 日韩一区二区三区在线视频| 日韩一级欧美一级| 欧美精选一区二区| 日韩精品中文字幕一区| 久久久噜噜噜久噜久久综合| 国产欧美一区二区三区网站| 国产精品免费av| 亚洲三级久久久| 亚洲美女一区二区三区| 天天综合网 天天综合色| 免费欧美在线视频| 老汉av免费一区二区三区| 国产一区二区三区免费在线观看| 国内一区二区在线| 成人综合婷婷国产精品久久| 色综合中文字幕国产 | 91豆麻精品91久久久久久| 一本一道久久a久久精品| 在线观看精品一区| 日韩三级高清在线| 国产精品二三区| 亚洲一区在线观看免费观看电影高清 | 久久久www成人免费无遮挡大片| 精品福利二区三区| 国产精品大尺度| 日本女优在线视频一区二区| 国产一区福利在线| 奇米色一区二区| 97成人超碰视| 欧美xingq一区二区| 中文字幕一区二区三区在线不卡| 爽好久久久欧美精品| 国产成人在线视频网址| 欧美性xxxxx极品少妇| 久久久久久久久久电影| 亚洲一区二区影院| 国产成人8x视频一区二区| 欧美午夜影院一区| 国产亚洲精品久| 日韩中文字幕av电影| 成人美女在线观看| 日韩视频免费直播| 亚洲综合色噜噜狠狠| 国产在线一区观看| 欧美久久久影院| 中文字幕一区av| 国产成人日日夜夜| 欧美不卡一二三| 五月婷婷色综合| 在线观看网站黄不卡| 国产精品激情偷乱一区二区∴| 久久精品国产网站| 欧美伊人精品成人久久综合97| 国产日韩三级在线| 国产精品一区二区91| 91精品久久久久久久99蜜桃| 一区二区三区在线免费| 91欧美一区二区| 国产精品美女久久久久久久久| 国产剧情一区二区| 精品黑人一区二区三区久久 | 国产欧美精品区一区二区三区| 青青草原综合久久大伊人精品 | 日韩天堂在线观看| 日韩精品一区第一页| 欧美日韩一区二区三区四区| 一区二区在线观看视频| 一本一道久久a久久精品| 亚洲精品视频在线| av男人天堂一区| 国产精品久久久久天堂| av毛片久久久久**hd| 亚洲欧美日韩中文字幕一区二区三区 | 2014亚洲片线观看视频免费| 毛片不卡一区二区| 日韩免费电影网站| 激情图区综合网| 国产日韩一级二级三级| 成人免费av资源| 一区二区三区精品视频| 欧美日韩性生活| 免费高清在线一区| 久久免费视频色| 成人亚洲一区二区一| 国产精品久久久久久福利一牛影视 | 国产成人av自拍| 中文字幕一区二区三区在线播放| 91啪九色porn原创视频在线观看| 一级精品视频在线观看宜春院| 欧美日韩第一区日日骚| 国产一区视频在线看| 亚洲乱码中文字幕| 8x8x8国产精品| 国产真实乱偷精品视频免| 国产精品福利电影一区二区三区四区 | 国产精品18久久久久久vr| 国产精品视频你懂的| 99re热视频精品| 日韩电影一区二区三区| 久久精品人人做人人综合 | 欧美性三三影院| 久久99九九99精品| 最新国产の精品合集bt伙计| 欧美日韩国产在线观看| 国产美女精品人人做人人爽| 亚洲美女免费视频| 日韩午夜激情av| 日本韩国视频一区二区| 欧美aaaaaa午夜精品| 综合电影一区二区三区 | 成人免费在线视频观看| 欧美人成免费网站| 成人a级免费电影| 人妖欧美一区二区| 亚洲人xxxx| 欧美精品一区二区久久久 | 日本成人在线不卡视频| 欧美国产精品一区二区三区| 91精品国产综合久久精品图片| 成人免费黄色大片| 美女mm1313爽爽久久久蜜臀| 亚洲激情五月婷婷| 国产日韩精品久久久| 欧美一级高清大全免费观看| 在线观看成人小视频| 高清av一区二区| 六月婷婷色综合| 亚洲午夜激情网页| 国产精品国产三级国产aⅴ入口 | 老司机一区二区| 亚洲va国产天堂va久久en| 中文字幕亚洲区| 久久嫩草精品久久久久| 日韩久久精品一区| 欧美一级片在线看| 欧美日韩国产影片| 在线观看欧美精品| 在线观看91视频| 欧美性三三影院| 欧美午夜精品久久久久久孕妇| 91网站在线播放| 97精品国产97久久久久久久久久久久| 国产成人超碰人人澡人人澡| 国产成人免费视频一区| 国产精品一区免费在线观看| 激情综合色综合久久| 捆绑调教一区二区三区| 经典一区二区三区| 激情深爱一区二区| 国产成都精品91一区二区三| 国产成人精品免费| 99国产精品国产精品毛片| 色综合色狠狠天天综合色| 色哟哟一区二区| 欧美日韩国产一二三| 欧美一级xxx| 精品国产一二三| 国产日本欧洲亚洲| 国产精品久久久久精k8| 一区二区三区欧美日| 亚洲成人免费av| 韩国中文字幕2020精品| 国产宾馆实践打屁股91| 99久久久国产精品免费蜜臀| 色噜噜久久综合| 欧美日韩1区2区| 欧美不卡在线视频| 久久综合成人精品亚洲另类欧美| 久久久噜噜噜久久人人看 | 亚洲成人资源在线| 蜜桃av一区二区| 波多野结衣视频一区| 色婷婷一区二区| 欧美一区二区三区视频在线| 久久久午夜精品| 亚洲一区二区三区国产| 久久精品72免费观看| a在线播放不卡| 欧美日本一区二区三区| 久久伊99综合婷婷久久伊| 亚洲特级片在线| 日韩国产在线观看| 国产曰批免费观看久久久| 91亚洲男人天堂| 日韩一区二区免费电影| 中文字幕一区二区三中文字幕| 日韩高清国产一区在线| 不卡影院免费观看| 日韩限制级电影在线观看| 一区二区理论电影在线观看| 韩国精品久久久| 制服丝袜亚洲精品中文字幕|