📄 readerwriter.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 + -