91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

信號量PV經典問題之沉睡理發師,適用操作系統大作業 C++編寫

資源截圖

代碼片段和文件信息

#include
#include
#include

using?namespace?std;


int?waiting=0;
int?chairs=2;?????????????????????????????//為了使結果便于觀測僅采用2個等待椅
#define?random?(rand()*10000)/RAND_MAX????//產生一個隨機數代表顧客在時間上隨機進入理發店
DWORD?a;?
HANDLE?barbers=CreateSemaphore(NULL11“barbers“);
HANDLE?customers=CreateSemaphore(NULL01“customers“);
HANDLE?mutex=CreateMutex(NULLFALSE“mutex“);
//理發師開始為一個顧客理發
void?cut_hair()
{??Sleep(10);
???cout<<“Barber?working.“<???Sleep(10000);
}
//一個顧客理完發并離開
void?get_haircut()
{???Sleep(10000);
cout<<“One?custmer?finished“<

}

DWORD?WINAPI?ThreadCustomer(LPVOID?lpParam)
{

WaitForSingleobject(mutexINFINITE);
cout<<“One?custmer?enter.“<
if(waiting {
cout<<“Still?have?seats.?waiting.“< waiting++;
????
ReleaseSemaphore(customers1NULL);

ResumeThread(customers);\
????????ReleaseMutex(mutex);
WaitForSingleobject(barbersINFINITE);
cout< get_haircut();

}
else
{
cout<<“Full?the?custmer?left“<
ReleaseMutex(mutex);
}
return?0;
}

DWORD?WINAPI?ThreadBarber(LPVOID?lpParam)
{
while(true)
{
WaitForSingleobject(customersINFINITE);
WaitForSingleobject(mutexINFINITE);
waiting--;

ReleaseSemaphore(barbers1NULL);
???????
ResumeThread(barbers);?
ReleaseMutex(mutex);
cut_hair();

}
return?0;
}

int?main()
{
HANDLE?customerThread;
????HANDLE?barberThread=CreateThread(NULL0ThreadBarberNULL0NULL);
?while(true)
?{??
Sleep(random);
????cout< customerThread=CreateThread(NULL0ThreadCustomerNULLaNULL);
cout<????
}
return?0;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????249933??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug\SleepingBarber.exe

?????文件?????374880??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug\SleepingBarber.ilk

?????文件??????54275??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug\SleepingBarber.obj

?????文件????5316280??2011-12-30?01:04??Task?3.1-Sleeping?Barber\Debug\SleepingBarber.pch

?????文件????1090560??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug\SleepingBarber.pdb

?????文件?????189440??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug\vc60.idb

?????文件?????143360??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug\vc60.pdb

?????文件???????1743??2011-12-30?02:07??Task?3.1-Sleeping?Barber\SleepingBarber.cpp

?????文件???????3497??2011-12-30?01:28??Task?3.1-Sleeping?Barber\SleepingBarber.dsp

?????文件????????536??2011-12-30?02:08??Task?3.1-Sleeping?Barber\SleepingBarber.dsw

?????文件??????41984??2011-12-30?02:08??Task?3.1-Sleeping?Barber\SleepingBarber.ncb

?????文件??????48640??2011-12-30?02:08??Task?3.1-Sleeping?Barber\SleepingBarber.opt

?????文件????????794??2011-12-30?02:07??Task?3.1-Sleeping?Barber\SleepingBarber.plg

?????目錄??????????0??2011-12-30?02:07??Task?3.1-Sleeping?Barber\Debug

?????目錄??????????0??2011-12-30?02:08??Task?3.1-Sleeping?Barber

-----------?---------??----------?-----??----

??????????????7515922????????????????????15


評論

共有 條評論