基于C++的读者与写者问题read—write problem的实现(一)(2)
作者:佚名; 更新时间:2019-07-20

lpStartAddress, // thread function
 LPVOID lpParameter, // thread argument
 DWORD dwCreationFlags, // creation option
 LPDWORD lpThreadId // thread identifier
 );
 ExitThread 用于结束当前线程。
 VOID ExitThread(DWORD dwExitCode // exit code for this thread);
 Sleep 可在指定的时间内挂起当前线程。
 VOID Sleep(DWORD dwMilliseconds // sleep time);
 信号量控制:
 CreateMutex 创建一个互斥对象,返回对象句柄;
 HANDLE CreateMutex(
 LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD
 BOOL bInitialOwner, // initial owner
 LPCTSTR lpName // object name);
 OpenMutex 打开并返回一个已存在的互斥对象句柄,用于后续访问;
 HANDLE OpenMutex(
 DWORD dwDesiredAccess, // access
 BOOL bInheritHandle, // inheritance option
 LPCTSTR lpName // object name);
 ReleaseMutex 释放对互斥对象的占用,使之成为可用。
 BOOL ReleaseMutex(
 HANDLE hMutex // handle to mutex);
 WaitForSingleObject 可在指定的时间内等待指定对象为可用状态;
 DWORD WaitForSingleObject(
 HANDLE hHandle, // handle to object
 DWORD dwMilliseconds // time-out interval);
  测试文件数据结构如下: 
  struct ThreadInfo
 {
 int serial;                      //线程序号
 char entity;                    //线程类别(判断是读者还是写者线程)
 double delay;                    //线程延迟时间
 double persist;                  //线程读写操作时间
 };
void RP_ReaderThread(void *p)       // 读者优先情况下的读者线程信息
void RP_WriterThread(void *p)       //读者优先情况下的写者线程信息
void ReaderPriority(char *file)     //读者优先处理函数
void WP_ReaderThread(void *p)           //写者优先情况下的读者线程信息
void WP_ReaderThread(void *p)          //写者优先情况下的写者线程信息
void WriterPriority(char *file)     //写者优先处理函数
int main(int argc,char *argv     //主函数,负责调用读者或者写者优先函数
3.2 流程图
    


                                 
                       是

是                               &nb

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com