-
大小: 1.53MB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-01-11
- 語(yǔ)言: C/C++
- 標(biāo)簽: 操作系統(tǒng)??信號(hào)量??讀者寫者??
資源簡(jiǎn)介
操作系統(tǒng)信號(hào)量PV經(jīng)典問題:讀者寫者,優(yōu)先級(jí)是誰(shuí)忘了,最經(jīng)典的那個(gè)
C++編寫
代碼片段和文件信息
#include
#include
#include
using?namespace?std;
#define?random?(rand()*10000)/RAND_MAX
int?count=0;?//用于記錄當(dāng)前讀者數(shù)量
DWORD?a;?
HANDLE?rw=CreateSemaphore(NULL11“rw“);????????//保證讀者和寫者互斥訪問
HANDLE?w=CreateSemaphore(NULL11“w“);??????????//用于實(shí)現(xiàn)“寫優(yōu)先”
HANDLE?mutex=CreateMutex(NULLFALSE“mutex“);????//用于保護(hù)更新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);??????//在無寫進(jìn)程請(qǐng)求時(shí)進(jìn)入
WaitForSingleobject(rwINFINITE);?????//互斥訪問共享文件
writing();????????????????????????????//寫入
????????
Re
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????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
評(píng)論
共有 條評(píng)論