设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 其他开发语言 >> 操作系统实验进程同步--读者优先
精品推荐
其他开发语言点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·Modem 常用AT指令集
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
·Thinking in C++ 简体中文第二版
·debug和release的区别
·error LNK2001: unresolved external symbol __ftol2 错误解决
·C库函数手册
·一个简单的C语言编译器
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

操作系统实验进程同步--读者优先

作者: 来源:网络文章 时间:2005-12-17 1:11:19

操作系统实验进程同步--读者优先(4)  return 0;
}

DWORD  WINAPI WriterProc(LPVOID lpParam)
{
 Person *pPerson = (Person*)lpParam;

 // wait for the start time
 while(g_CurrentTime != pPerson->m_nStartTime)
 {
 }

 printf("Writer %d is Requesting ...\n",pPerson->m_nID);
    WaitForSingleObject(g_hWriteSemaphore,INFINITE);
 // modify the writer's real start time
 pPerson->m_nStartTime = g_CurrentTime;
 printf("Writer %d is Writting the Shared Buffer...\n",pPerson->m_nID);
 while(g_CurrentTime <= pPerson->m_nStartTime + pPerson->m_nWorkTime)
 {
  // ..  perform write operations
 }
 printf("Writer %d is Exit...\n",pPerson->m_nID);
 ReleaseSemaphore(g_hWriteSemaphore,1,NULL);
 
 ExitThread(0);
 return 0;
}

bool CreateReader(int StartTime,int WorkTime,int ID)
{
 DWORD dwThreadID;
 if(g_NumPerson >= MAX_PERSON)
  return false;
 
 Person *pPerson       = &g_Persons[g_NumPerson];
 pPerson->m_nID        = ID;
 pPerson->m_nStartTime = StartTime;
 pPerson->m_nWorkTime  = WorkTime;
 pPerson->m_nType      = READER;

 g_NumPerson++;

 // Create an New Thread
 pPerson->m_hThread = CreateThread(NULL,0,ReaderProc,(LPVOID)pPerson,0,&dwThreadID);
 if(pPerson->m_hThread == NULL)
  return false;

 return true;
}

bool CreateWriter(int StartTime,int WorkTime,int ID)
{
 DWORD dwThreadID;
 if(g_NumPerson >= MAX_PERSON)
  return false;
 
 Person *pPerson       = &g_Persons[g_NumPerson];
 pPerson->m_nID        = ID;

共5页 9 7 [1] [2] [3] [4] [58 :>

操作系统实验进程同步--读者优先 相关文章:
操作系统实验进程同步--读者优先 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com