免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 毕业论文 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 计算机论文

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

;  //延迟时间
 DWORD m_persist;                   //读文件持续时间
 int m_serial;                      //线程的序号
 //从参数中得到信息
 m_serial=((ThreadInfo*)(p))->serial ;

 m_delay=(DWORD)(((ThreadInfo*)(p))->delay *INTE_PER_SEC);
 m_persist=(DWORD)(((ThreadInfo*)(p))->persist *INTE_PER_SEC);
 Sleep(m_delay);                  //延迟等待

 printf("Reader thread %d sents the reading require.\n",m_serial);
 wait_for_mutex1=WaitForSingleObject(h_Mutex1,-1);

 //读者进去临界区
 EnterCriticalSection(&cs_Read);

 //阻塞互斥对象Mutex2,保证对readCount的访问和修改互斥
  wait_for_mutex2=WaitForSingleObject(h_Mutex2,-1);
  //修改读者的数目
  readcount++;
  if(readcount==1)
  {
   // 如果是第1个读者,等待写者写完
   EnterCriticalSection(&cs_Write);
  }
  ReleaseMutex(h_Mutex2);// 释放互斥信号 Mutex2
  //让其他读者进去临界区
  LeaveCriticalSection(&cs_Read);
  ReleaseMutex(h_Mutex1);
  //读文件
  printf("Reader thread %d begins to read file.\n",m_serial);
  Sleep(m_persist);

  //退出线程
   printf("Reader thread %d finished reading  file.\n",m_serial);
   //阻塞互斥对象Mutex2,保证对readcount的访问,修改互斥
   wait_for_mutex2=WaitForSingleObject(h_Mutex2,-1);
   readcount--;
   if(readcount==0)
   {
    //最后一个读者,唤醒写者
    LeaveCriticalSection(&cs_Write);
   }
   ReleaseMutex(h_Mutex2);  //释放互斥信号
}
///////////////////////////////////////////
//写者优先---写者线程
//P:写者线程信息


void WP_WriterThread(void *p)
{
 DWORD wait_for_mutex3;            //互斥变量
 DWORD m_delay;                   //延迟时间
 DWORD m_persist;                 //读文件持续时间
 int m_serial;                    //线程序号

 HANDLE h_Mutex3;
 h_Mutex3=OpenMutex(MUTEX_ALL_ACCESS,FALSE,"mutex3");

 //从参数中获得信息
 m_serial=((ThreadInfo*)(p))->serial ;
 m_delay=(DWORD)(((ThreadInfo*)(p))->delay *INTE_PER_SEC);
 m_persist=(DWORD)(((ThreadInfo*)(p))->persist *INTE_PER_SEC);
 Sleep(m_delay);                  //延迟等待

 printf("Writer thread %d sents the reading require.\n",m_serial);
 wait_for_mutex3=WaitForSingleObject(h_Mutex3,-1);
 writecount++;            &nb

首页 上一页 3 4 5 6 7 8 下一页 尾页 6/8/8

相关论文
上一篇:C# 考务和成绩管理系统 下一篇:计算机公司销售业务管理系统
推荐论文 本专业最新论文
Tags:基于 读者 问题 read write problem 实现 【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2022 GEPUW.NET 论文天下网 版权所有