计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于C++的读者与写者问题read—write problem的实现(2)

2013-07-08 01:38
导读:lpStartAddress, // thread function LPVOID lpParameter, // thread argument DWORD dwCreationFlags, // creation option LPDWORD lpThreadId // thread identifier ); ExitThread 用于结束当前线程。
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;                    //线程延迟时间

您可以访问中国科教评价网(www.NsEac.com)查看更多相关的文章。


 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

上一篇:C# 考务和成绩管理系统(一)毕业论文 下一篇:没有了