操作系统实验报告(生产者消费者问题)-模板

操作系统实验报告(生产者消费者问题)-模板

ID:32888688

大小:360.00 KB

页数:14页

时间:2019-02-17

操作系统实验报告(生产者消费者问题)-模板_第1页
操作系统实验报告(生产者消费者问题)-模板_第2页
操作系统实验报告(生产者消费者问题)-模板_第3页
操作系统实验报告(生产者消费者问题)-模板_第4页
操作系统实验报告(生产者消费者问题)-模板_第5页
资源描述:

《操作系统实验报告(生产者消费者问题)-模板》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、操作系统实验报告HUNANUNIVERSITY操作系统实验报告题目:学生姓名:李汉乾学生学号:20100810411专业班级:物联一班同组成员:上课老师:肖德贵13操作系统实验报告目录一、内容2二、目的2三、实验设计思想和流程2四、主要数据结构及符号说明2五、程序初值及运行结果2六、实验体会和思考题2附录(源代码及注释)213操作系统实验报告一、内容模拟操作系统中进程同步和互斥。二、目的1.熟悉临界资源、信号量及PV操作的定义与物理意义;2.了解进程通信的方法;3.掌握进程互斥与进程同步的相关知识;4.掌握

2、用信号量机制解决进程之间的同步与互斥问题;5.实现生产者-消费者问题,深刻理解进程同步问题。三、实验设计思想和流程这次实验的主要设计思想为:用线程来模拟生产者与消费者,用一个数组来模拟缓冲池,在缓冲池里,写了关于如何便面生产者消费者同时进入缓冲池的代码。如下:它是通过定义两个函数publicsynchronizedvoidget(intid)<在函数前加了一个synchronized关键字>。publicsynchronizedvoidput(intid)<也在函数面前加一个synchronized关键字>

3、关键字就是避免生产者与消费者同时进入缓冲池。(至于如何避免这是java提供函数的内部代码,我也不知道啊!)四、主要数据结构及符号说明publicclassBuffer{JTextAreata;staticfinalintproductBufferNum=10;//缓冲单元数ProductBufferpBuffer[]=newProductBuffer[productBufferNum];//缓冲队列intin=0;//缓冲单元指针,用于放产品get()intout=0;//缓冲单元指针,用于取产品put()

4、intconsumeProductNo;//记录消费产品的编号intusedBufferNum=0;//记录缓冲队列已使用的缓冲单元个数}publicclassProductBuffer{intproduct;//存放产品编号booleanhasProduct;//标识该缓冲区是否有产品,true有产品,false无产品}publicclassCustomer_Consumer_TestimplementsActionListener{privateJPaneljp[]=newJPanel[10];13操作

5、系统实验报告booleanisRun=true;//用于控制线程结束JTextAreata=newJTextArea();Bufferbuffers=newBuffer(ta);//缓冲队列staticfinalintproducerNum=3;//生产者个数staticfinalintconsumerNum=3;//消费者个数ProducerThreadproThread[]=newProducerThread[producerNum];ConsumerThreadconThread[]=newConsu

6、merThread[consumerNum];Threadproducer[]=newThread[producerNum];Threadconsumer[]=newThread[consumerNum];}五、程序初值及运行结果生产者1将产品1放入缓冲单元0,缓冲队列状态如下:缓冲单元编号产品编号缓冲单元状态01true1-1false2-1false3-1false4-1false5-1false6-1false7-1false8-1false9-1false生产者3将产品1放入缓冲单元1,缓冲队列状态

7、如下:缓冲单元编号产品编号缓冲单元状态01true11true2-1false3-1false4-1false5-1false6-1false7-1false8-1false9-1false消费者2将产品1从缓冲单元0取出,缓冲队列状态如下:缓冲单元编号产品编号缓冲单元状态00false11true13操作系统实验报告2-1false3-1false4-1false5-1false6-1false7-1false8-1false9-1false消费者3将产品1从缓冲单元1取出,缓冲队列状态如下:缓冲单元编号

8、产品编号缓冲单元状态00false10false2-1false3-1false4-1false5-1false6-1false7-1false8-1false9-1false生产者2将产品1放入缓冲单元2,缓冲队列状态如下:缓冲单元编号产品编号缓冲单元状态00false10false21true3-1false4-1false5-1false6-1false7-1false8-1false9-1false消费者

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

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

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