下载 >  课程资源 >  C/C++ > 读者写者问题课程设计

读者写者问题课程设计 评分:

初始条件: 1操作系统:Linux 或者 windows 2程序设计语言:C,java语言 3设有20个连续的存储单元,写入/读出的数据项按增序设定为1-20这20个字符。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.技术要求: 1)为每个读者/写者产生一个线程,设计正确的同步算法 2)每个读者/写者对该存储区进行操作后,即时显示该存储区的全部内容、当前指针位置和读者/写者线程的自定义标识符。。 3)读者应有3个以上,写者应有有两个以上。 4)多个读者/写者之间须共享对存储区进行操作的函数代码。 2. 设计说明书内容要求: 1)设计题目与要求 2)总的设计思想及系统平台、语言、工具等。 3)数据结构与模块说 明(功能与流程图) 4)给出用户名、源程序名、目标程序名和源程序及其运行结果。(要注明存储各个程序及其运行结果的主机IP地址和目录。) 5)运行结果与运行情况 (提示: (1)连续存储区可用数组实现。 (2)编译命令可用:     cc -lpthread -o  目标文件名  源文件名 (3)多线程编程方法参见附件。) 3. 调试报告: 1) 调试记录 2) 自我评析和总结 上机时间安排: 19周一 ~ 五 下午14:00 - 18:00 (6月27日开始) 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 五、源代码 #include <windows.h> #include <conio.h> #include "fstream.h" int readcount=0; //读者数目 int writecount=0; //写者数目 CRITICAL_SECTION RP_Write; //临界区 CRITICAL_SECTION cs_Write; CRITICAL_SECTION cs_Read; struct ThreadInfo //线程信息 { int Threadhao; //线程序号 char ThreadClass; //线程类别 double ThreadStartTime; //线程开始时间 double ThreadRunTime; //线程读写持续时间 }; void ReaderFun(char* file);//读者优先函数 void R_ReaderThread(void *p);//处理读者优先读者线程 void R_WriterThread(void *p);//处理读者优先写者线程 void WriterFun(char* file); void W_ReaderThread(void *p); void W_WriterThread(void *p); int main()//主函数 { char select; while (true) { cout<<"***************本程序实现读者-写者问题*******\n"<<endl; cout<<" 1:读者优先"<<endl; cout<<" 2:写者优先"<<endl; cout<<" 3:退出"<<endl; cout<<"\n*********************************************"<<endl; cout<<"请选择要进行的操作:"<<endl; do { cin>>select; if(select!='1' && select!='2' && select!='3') cout<<"你操作有误,请重试!"<<endl; }while (select!='1' && select!='2' && select!='3'); system("cls"); if (select=='3') return 0;//退出 else if (select=='1')//调用读者优先 ReaderFun("peizhi.txt"); else if(select=='2')//调用写者优先 WriterFun("peizhi.txt"); cout<<"\n是否还有继续? 1. 继续 2.退出"<<endl;; do { cin>>select; if(select!='1' && select!='2' ) cout<<"你操作有误,请重试!"<<endl; }while (select!='1' && select!='2'); if(select=='2') return 0;// 退出 system("cls"); } return 0; }
...展开详情收缩
分享
收藏 (1) 举报

评论 共3条

yangmeiyan690062773 有点小问题,可以参考
2012-12-05
回复
lincolnzhai 程序有错,没有显示结果
2012-11-13
回复
lanceyang1992 资源与其他资源大同小异,都是利用批处理文件
2012-11-10
回复
操作系统课程设计读者-写者问题

通过实现经典的读者写者问题,巩固对线程及其同步机制的学习效果。包含文档和源代码

立即下载
操作系统课程设计-实现读者写者(Reader-Writer Problem)问题

通过研究Linux的线程机制和信号量实现读者写者(Reader-Writer)问题并发控制。每人一台与Linux主机联网的Windows主机,普通用户权限。

立即下载
多线程模拟读者写者问题,采用读写平等方式

操作系统课程设计采用读写平等实现的读者写者问题。

立即下载
读者写者问题(linux)实现代码

教材中对读者写者问题算法均有描述,但这个算法在不断地有读者流的情况下,写者会被阻塞。编写一个写者优先解决读者写者问题的程序,其中读者和写者均是多个进程,用信号量作为同步互斥机制。

立即下载
读者写者问题(源代码+示例)

读者优先-读者线程,读者优先-写者线程,读者优先处理函数,写者优先-读者线程,写者优先-写者线程,写者优先处理函数...

立即下载
MFC实现读者写者问题

用MFC写的读者写者问题,有简单的界面。

立即下载
linux下C语言实现读者写者写者优先)

可以并发读,读写、写读、写写互斥,写者优先,代码已在Ubuntu11.10下编译运行通过

立即下载
读者写者问题C语言实现

用C语言实现4读者4写者问题,C语言多线程实现,避免了死缩和活锁

立即下载
C++多线程读者写者问题

使用MFC相关的功能函数来模拟经典进程互斥和同步问题

立即下载
操作系统实验1用信号量来实现读者-写者问题

大三上学期操作系统课程第一次实验,用信号量来实现读者-写者问题,读者优先 模拟程序。理解进程(或线程)及信号量的概念。

立即下载
读者写者问题c++实现

实现操作系统经典PCI问题:读者写者问题,c++代码实现

立即下载
操作系统读者写者问题源代码

windows内核实验教程 读者写者源代码

立即下载
PV操作实现读者写者问题

实现PV操作解决读者写者问题(读者优先)

立即下载
Linux下的读者写者问题写者优先)

这是利用信号量互斥来实现读者写者问题,并写者优先(Linux下编译直接通过,windows下注释将显示乱码)!

立即下载
东华大学 操作系统实验 读者写者问题 含源代码和报告

1 实验目标 能够编写程序模拟读者 写者问题 2 实验要求 在Windows2000环境下 创建一个控制台进程 此进程包含n个线程 用这n个线程来表示n个读者或写者 每个线程按相应测试数据文件 后面有介绍 的要求进行读写操作 用信号量机制分别实现读者优先和写者优先的读者 写者问题 读者 写者问题的读写操作限制 包括读者优先和写者优先 : 1 写 写互斥 即不能有两个写者同时进行写操作 2 读 写互斥 即不能同时有一个线程在读 而另一个线程在写 3 读 读允许 即可以有一个或多个读者在读 读者优先的附加限制:如果一个读者申请进行读

立即下载
PV操作读者写者问题,写优先

读者与写着问题中的,写者优先问题,解决了写无限等待问题

立即下载
进程同步读者写者问题

用三个算法实现读者写者问题,包括写优先、无优先、读优先等,下载即可使用。

立即下载
c语言实现读者写者问题

c语言实现读者写者问题,操作系统课程设计专用

立即下载
管程机制模拟仿真“读者-写者问题

读者-写者问题的读写操作要求: 1.写-写互斥:不能有两个写者同时进行写操作 2.读-写互斥:不能同时有一个线程在读,而另一个线程在写。 3.读-读允许:可以同时有多个读者在读。 读者优先时,读者的优先权比写者高, 如果读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。如果当前是写者已经占有了文件的时候,则别的读者必需等待该操作完成后,才能开始读操作。 写者优先时,写者的优先权比读者高, 在一个写者提出要访问文件时,就必须使其尽可能的得到文件,而且不用调配,而且写者在运行时不允许读者进入。

立即下载
读者写者问题 C语言实现

用c语言实现的读者写者问题 思路清晰 代码简单

立即下载
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

读者写者问题课程设计

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
3 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: