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

操作系统课程设计多线程.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
燕山大学课程设计说明书 ————操作系统 题目:多道程序缓冲区协调操作 班级: 计算机应用2班 开发小组名称:Beyond软件开发小组 课题负责人:张鹏 课题组成员:姓名 学号 班级 自评成绩 张鹏 090104010071 应用2班 A 李倩 090104010064 应用2班 B 课题开发日期:2012.1.9—2012.1.13 概述 1.1课程设计目的 本次课程设计的主要目的是通过模拟多道程序缓冲区协调操作,充分理解操作系统中进程、线程及线程间同步和互斥的概念;并通过自己编写程序了解软件开发流程,锻炼自己的编程能力,充分提高自己的综合能力。 1.2主要完成任务 模拟设定PUT、GET、Move操作的如下图所示,有多个PUT操作要不断循环地向Buffer1送数据,有Move1操作和Move2操作要不断地将Buffer1的数据取到Buffer2和Buffer3,有多个GET操作要不断地从Buff2和Buffer3中取数据。PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据不丢失, 每个Buffer每次只能接受一个PUT或一个Move或一个Get,多个操作不能同时操作同一BUFFER。 Get2 Get2 Put Move2 Buff1 Buff2 Buff3 Move1 Get1 PUT MOVE GET 软件能显示各个Buffer的操作过程和每个Buffer中的现有数据,放入、取出的总数据,可以设置Buffer的容量及放入、取出数据的速度 ,设置put、move、get操作的线程数和操作速度,软件结束运行时可以显示汇总数据,并能将统计结果保存到任意的路径下。 1.3解决的主要问题 在本次课程设计中解决的重要问题有线程间的同步和互斥问题,java语言软件设计中面向对象思想各个类的创建方法及类之间互相操作问题,软件界面设计问题。 2. 设计使用的基本概念和原理 2.1多道程序 多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使他们在管理程序控制下,相互穿插运行。 2.2进程 进程是并发程序的执行,是多道程序系统中程序的执行过程。 2.3线程 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有一点运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的资源。 2.4同步和互斥 相互合作的进程需要在某些点上协调,先到达某点的进程需要等待后到达的进程,进程间的这种协调关系叫同步。互斥是一种特殊的同步方式。当多个进程需要使用相同的资源,而次资源在任意时刻却只能供一个进程使用。获得资源的进程可以继续执行,没有获得资源的进程必须等待。进程间的这种相互排斥关系叫做互斥。 2.5基本原理 设计的基本理念是运用面向对象技术,设计三个缓冲区类Buffer1,Buffer2,Buffer3,主要属性有容量,当前数据量,放入、取出数据量,放入、取出速度等,主要方法有放入、取出等;然后设计线程类Producer,Transporter1,Transporter2,Consumer1,Consumer2,主要属性有线程个数,线程操作速度,主要方法是重新run()方法,调用相应Buffer的put和get方法,执行对Buffer 的操作。利用信号量机制,对线程进行等待,唤醒操作,实现线程间的同步和互斥;利用线程的休眠时间来模拟放入,取出的速度以及各个线程操作的速度。 3.总体设计 3.1基本技术路线 本程序主要利用面向对象编程方法,采用java提供的多线程技术,来模拟实现P、V操作。 3.2总体结构、模块关系 本程序中Producer线程可以调用Buffer1的put方法向Buffer1中放入数据;Transporter1线程可以调用Buffer1的get方法,调用Buffer2的put方法,将数据从Buffer1中取出放入Buffer2中;Transporter2线程可以调用Buffer1的get方法,调用Buffer3的put方法,将数据从Buffer1中取出数据放入Buffer

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档