实验一并发程序设计实验报告1.doc_第1页
实验一并发程序设计实验报告1.doc_第2页
实验一并发程序设计实验报告1.doc_第3页
实验一并发程序设计实验报告1.doc_第4页
实验一并发程序设计实验报告1.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 并发程序设计实验报告1目的 在单处理器环境下,实现多任务的核心是并发程序设计,进程的并发执行提高了CPU的利用率,使得CPU与设备并行、设备与设备并行成为可能。但并发执行也存在许多单任务中所没有的问题,其中之一是互斥和同步的控制。 2要求题目:在BACI环境下,对程序并发执行的实验:(1)没有控制时正确的程序执行的结果不正确;(2)BACI中PV操作的并发控制的实现。内容:第一题程序:semaphore s=1;int count=100;void pa() int x; p(s); x=count; x=x+1; count=x; v(s);void pb() int y; p(s); y=count; y=y-1; count=y; v(s); void main() coutbegin count=countendl; cobeginpa();pb(); countend count=countendl;程序运行结果:第二题:(1) 一开始堆栈的初始值都为-1。(2) 原程序执行3次的截图(3) 可见该程序是错的。(4) 修改完的代码:int stack20;int top;semaphore s;void getspace()int x;p(s);x=stacktop;top-;cout Out : xendl;v(s);void release(int ad)p(s);top+;stacktop=ad;cout In : adendl;v(s);void main()int i;initialsem(s,1);for(i=0;i20;i+)stacki=-1;stack0=0;stack1=156;stack2=254;stack3=129;stack4=23;top=4;cobegingetspace();release(100);coutTop =topendl;for(i=0;i=top;i+)coutStacki = stackiendl;(1) 修改完的执行结果: 第三题:程序:semaphore s;semaphore n1;semaphore n2;semaphore s3;int x;void R()p(empty);coutx;if(x%2=0)v(n2);else v(n1);void W1()p(n1);p(s3);coutW1 print x=xendl;v(s3);v(empty);void W2()p(n2);p(s3);coutW2 print x=xendl;v(s3);v(empty);void main()initialsem(empty,1);initialsem(n1,0);initialsem(n2,0);initialsem(s3,1);cobeginR();W1();W2();执行结果: 实验心得体会:我的底子很差,做起实验很吃力 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如运行时候,你要清楚各个运行的指令,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要耐心仔细 每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论