网站大量收购独家精品文档,联系QQ:2885784924

课程设计-生产者消费者问题(模板).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计(一号黑体加粗) 用多进程同步方法解决生产者-消费者问题 (小二黑体加粗) 院 系: 信息工程学院 班 级: 信工(2)班 学 号: XXXXXXXX 姓 名: XX 同 组 者: 本人 时 间: 2011/12/8 目录(小二黑体加粗) 操作系统课程设计(一号黑体加粗) 1 目录(小二黑体加粗) 2 一、题目:(标题2,即三号黑体加粗) 2 二、设计目的: 3 三、总体设计思想概述: 3 四、说明: 3 五、设计要求: 3 六、设计方案: 3 七、流程图: 3 八、运行结果 4 九 源程序 6 十、总结 10 十一、参考文献 11 一、题目:(标题2,即三号黑体加粗) 用多进程同步方法解决生产者-消费者问题。 二、设计目的: 通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制。 三、总体设计思想概述: 生产者—消费者问题是一种同步问题的抽象描述。 计算机系统中的每个进程都可以消费或生产某类资源。当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。 而当某个进程释放资源时,则它就相当一个生产者。 四、说明: 有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。 五、设计要求: 1、每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者进程的标识符。 2、生产者和消费者各有两个以上。 3、多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。 六、设计方案:  1、生产者仅仅在仓储未满时候生产,仓满则停止生产。   2、消费者仅仅在仓储有产品时候才能消费,仓空则等待。   3、当消费者发现仓储没产品可消费时候会通知生产者生产。   4、生产者在生产出可消费产品时候,应该通知等待的消费者去消费。   此模型将要结合java.lang.Object的wait与notify、notifyAll方法来实现以上的需求。  八、运行结果 1、截图一: 生产者线程开始生产、消费者线程随后消费及生产者或消费者执行生产操作后缓冲区当前状态的截图: 2、截图二: 缓冲区已满,信号量empty0生产者线程进入等待队列的截图: 上图的辅助解释图: 缓冲区的20个存储单元满时缓冲区的状态的截图: 3、截图三: 生产者线程ProducerThread_0完成自己的任务后,该线程撤销的截图: 4、截图四: 消费者执行消费操作后的缓冲区的状态的部分截图: 5、截图五: 生产消费完毕的截图: 九 源程序 /** * @(#)ProducerConsumer.java * * * @author * @version 1.00 2011/12/12 */ class Buffer { // 有界缓冲区 int [] array = new int[21]; // 设置缓冲区的大小为20个存储单元 int full = 0; // 缓冲区里产品的数目 初始值为0 int empty = 20; // 缓冲区里还剩空位置的数目 初始值为20 //int empty = array.length; public synchronized void push(int i) { // 生产数据项操作,即P操作(通过syschoronized实现有节缓冲区的互斥操作) while (empty == 0) { try { System.out.println(缓冲区已满,生产者线程进入等待队列); this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } notify(); System.out.println(Thread.currentThread().getName() + 生产: +i); full++; em

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档