资源简介

操作系统信号量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


评论

共有 条评论