資源簡介
操作系統信號量PV經典問題:讀者寫者,優先級是誰忘了,最經典的那個
C++編寫
代碼片段和文件信息
#include
#include
#include
using?namespace?std;
#define?random?(rand()*10000)/RAND_MAX
int?count=0;?//用于記錄當前讀者數量
DWORD?a;?
HANDLE?rw=CreateSemaphore(NULL11“rw“);????????//保證讀者和寫者互斥訪問
HANDLE?w=CreateSemaphore(NULL11“w“);??????????//用于實現“寫優先”
HANDLE?mutex=CreateMutex(NULLFALSE“mutex“);????//用于保護更新count變量的互斥
void?reading()
{???Sleep(10);
cout<<“The?reader?begin?reading.“< Sleep(10000);
}
void?writing()
{???Sleep(10);
cout<<“The?writer?begin?writing.“< Sleep(10000);
}
DWORD?WINAPI?Threadwriter(LPVOID?lpParam)
{???????while(1){
???
WaitForSingleobject(wINFINITE);??????//在無寫進程請求時進入
WaitForSingleobject(rwINFINITE);?????//互斥訪問共享文件
writing();????????????????????????????//寫入
????????
Re
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????249931??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug\reader&write.exe
?????文件?????373116??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug\reader&write.ilk
?????文件??????53169??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug\reader&write.obj
?????文件????5316280??2011-12-30?11:51??Task?3.2-Reader?and?Writer\Debug\reader&write.pch
?????文件?????574464??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug\reader&write.pdb
?????文件?????189440??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug\vc60.idb
?????文件?????143360??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug\vc60.pdb
?????文件???????2076??2011-12-30?11:54??Task?3.2-Reader?and?Writer\reader&write.cpp
?????文件???????3475??2011-12-30?11:37??Task?3.2-Reader?and?Writer\reader&write.dsp
?????文件????????532??2011-12-30?11:55??Task?3.2-Reader?and?Writer\reader&write.dsw
?????文件??????33792??2011-12-30?11:55??Task?3.2-Reader?and?Writer\reader&write.ncb
?????文件??????48640??2011-12-30?11:55??Task?3.2-Reader?and?Writer\reader&write.opt
?????文件????????784??2011-12-30?11:54??Task?3.2-Reader?and?Writer\reader&write.plg
?????目錄??????????0??2011-12-30?11:54??Task?3.2-Reader?and?Writer\Debug
?????目錄??????????0??2011-12-30?11:55??Task?3.2-Reader?and?Writer
-----------?---------??----------?-----??----
??????????????6989059????????????????????15
評論
共有 條評論