⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readerwriter.h

📁 实现了读者与写者进程之间的同步互斥问题。
💻 H
字号:
#define R reader
#define W writer
#define reader 0 
#define writer 1 
#define ReaderPriority_Mode 1
#define WriterPriority_Mode 2
#define PersonNum 20   //人物队列数量

int PersonList[]={
		1,R,3,5,
		2,W,4,5,
		3,R,5,2,
		4,R,6,5,
		5,W,5,3,
};

class Person{
public:
	HANDLE p_Thread;
	int ID;			//ID表示该人物的编号
	int tpye;		//tpye该人物的类型,是读者,还是写者
	int startTime;		//starttime表示,开始工作的时间
	int workingTime;	//workingtime表示,需要工作的时间
};

Person PersonQueue[PersonNum];
int NumID=0;
CRITICAL_SECTION CriticalSection; 
int ReadingNum=0;			// ReadingNum 表示当前正在工作的读者数
int WritingNum=0;			//WritingNum 表示当前正在工作的写者数
int WriterWaitingNum=0;		//WriterWaitingNum 表示当前正在等待的写者数


		//函数类型声明
DWORD WINAPI RP_ReaderThread(LPVOID lpParam);
DWORD WINAPI RP_WriterThread(LPVOID lpParam);
DWORD WINAPI WP_ReaderThread(LPVOID lpParam);
DWORD WINAPI WP_WriterThread(LPVOID lpParam);
void CreateReader(int ID,int type,int starttime,int workingtime,int symbol);
void CreateWriter(int ID,int type,int starttime,int workingtime,int symbol);
void CreatePersonList(int* pPersonList,int symbol);
void ReaderPriority();
void WriterPriority();
void UserInterface();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -