读者-写者问题c源代码

读者-写者问题c源代码

ID:27821781

大小:260.07 KB

页数:7页

时间:2018-12-06

读者-写者问题c源代码_第1页
读者-写者问题c源代码_第2页
读者-写者问题c源代码_第3页
读者-写者问题c源代码_第4页
读者-写者问题c源代码_第5页
资源描述:

《读者-写者问题c源代码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、读者一一写者问题C卄程序(原创作品)演示效果图:请输入你要创建多少个线程:f尔所要创建的第1个线程类型为:1•读者2•写者1你所要创建的第2个线程类型为:1•读者2•写者2你所要创建的第3个线程类型为:1•读者2•写者齐所要创建的第4个线程类型为:1•读者2•写者芥所要创建的第5个线程类型为:1•读者2•写者2你所要创建的第6个线程类型为:1•读者2•写者123456Ji示Un.fuk面线线线线线线下7Bs15:52:28:166>糸Is%者者者者者者读蔓读皐读笙荃荃荃荃译行在在在在在进正正正正正

2、才在时叶叶叶时一=旳

3、日Js15=52:31=182>容.以/结尾■■■■出在在在在匕L-一一nnnn0H-fp3krubrubrubrut11者者者者者者蔓读蔓写15:52:44:370>冇在在匕「进正正者者者者15:52:44:370>请Pfossanykeytocontinue王15:52:57:434>程序完整代码:^include^includettinclude#include

4、ring>#include//包含清屏头文件〃全局变量intempty二1;//信号量intwrln=l;//信号量intmax;inttemp[30];intWait,*next;intcount=0;//记录已经完成操作的线程数intwaitSemapore;inttype;//类型记录intwritc=l;intreadc=l;voidreader()/////////////////////////////////////////////////////读者函数开始{e

5、mpty--;//P操作改变信号量cout«ff读者获得资源SYSTEMTIMEsys;GetLocalTime(&sys);//输出系统时间cout«w系统时间:w«sys.wHour«n:w«sys.wMinute«w:ff«sys.wSecond«w:w«sys.wMilliseconds«,r)"<

6、///////////////////////////读者函数结尾voidwriter()//////////////////////////////////////////////////写者函数开始empty--;//P操作改变信号量wrln―;//P操作改变信号量cout«”写者W«writc«n获得资源”«M(n;SYSTEMTIMEsys;GetLocalTime(&sys);//输出系统时间cout«w系统时间:M<

7、.wSecond<<'r:°<

8、ios::app);if(ioutfile){cerr«nopenfileerror!n«endl;abort();)while(ch!=,/'){cin»ch;outfile«ch;}cout«endl«w*M<<"写者w«writc«M正在进行写操作・・"«en

9、dl;outfile.close();count++;〃wrIn++;//V操作改变信号量//empty++;//V操作改变信号量}//////////////////////////////////////////////////////////////写者函数结尾voidcodein()/////////////////////////////////////////////////////////////////输入界面{intru;cout«w请输入你要创建多少个线程:w«endl;cin

10、»max;for(inti=0;i

11、

12、ru==2)temp[i]=ru;elsecout«M输入有误!请重新输入M«endl;/////////////判断错误if(i==max-l)//录入最后一个线程类型操作{//system(Hclsn);//清屏HANDLEhOut;hOut=GetStdHandle(STD_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。