jav新a生产者消费者问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jav新a生产者消费者问题

湖北中医学院信息技术系 操作系统课程设计 第 PAGE 11 页 操作系统课程设计(一号黑体加粗) 用多进程同步方法解决生产者-消费者问题 (小二黑体加粗) 院 系: 班 级: 学 号: 姓 名: 同 组 者: 时 间: 目录(小二黑体加粗) TOC \o 1-3 \h \z HYPERLINK \l _Toc123652782 一、题目: PAGEREF _Toc123652782 \h 3 HYPERLINK \l _Toc123652783 二、设计目的: PAGEREF _Toc123652783 \h 3 HYPERLINK \l _Toc123652784 三、总体设计思想概述: PAGEREF _Toc123652784 \h 3 HYPERLINK \l _Toc123652785 四、说明: PAGEREF _Toc123652785 \h 3 HYPERLINK \l _Toc123652786 五、设计要求: PAGEREF _Toc123652786 \h 3 HYPERLINK \l _Toc123652787 六、设计方案: PAGEREF _Toc123652787 \h 3 HYPERLINK \l _Toc123652788 七、流程图: PAGEREF _Toc123652788 \h 4 HYPERLINK \l _Toc123652789 八、运行结果 PAGEREF _Toc123652789 \h 4 HYPERLINK \l _Toc123652790 九、源程序 PAGEREF _Toc123652790 \h 7 HYPERLINK \l _Toc123652791 十、总结 PAGEREF _Toc123652791 \h 15 HYPERLINK \l _Toc123652792 十一、参考文献 PAGEREF _Toc123652792 \h 15 一、题目:(标题2,即三号黑体加粗) 用多进程同步方法解决生产者-消费者问题。 二、设计目的: 通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制。 三、总体设计思想概述: 生产者—消费者问题是一种同步问题的抽象描述。 计算机系统中的每个进程都可以消费或生产某类资源。当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。 而当某个进程释放资源时,则它就相当一个生产者。 四、说明: 有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。 五、设计要求: 1、每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者进程的标识符。 2、生产者和消费者各有两个以上。 3、多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。 六、设计方案: 1、用Java编写程序,运行环境为Eclipse。 2、抽象化生产者与消费者之间的关系,即用线程来产生数据或者使用数据,定义的类有: (1)、public class BufferLock (2)、class Producer (3)、class Consumer 3、然后继承Thread(线程)来实现多个生产者与多个消费者之间的关系: (1)、class Producer extends Thread (2)、class Consumer extends Thread 4、还需要有一个缓冲区来存放数据,即通过缓冲区把生产者和消费者联系起来。 5、synchronized关键字修饰方法,实现线程同步。 七、流程图: 创建 创建“生产者”线程 缓冲区 是否阻塞 “生产者”等待 “消费者”取出缓冲区的数据 创建“消费者”线程 “消费者”阻塞 缓冲区是否为空 输入数据 “生产者”生产产品后被唤醒 NO NO YES 八、运行结果 1、截图一: 2、截图二: 3、截图三: 源程序 public class BufferLock //加互斥锁的缓冲区 { private int value;

文档评论(0)

186****0772 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档