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

专业课程设计I报告_B09040203.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
专业课程设计I报告_B09040203

专业课程设计I报告 (2011 / 2012 学年 第 二 学期1: 进程的同步与互斥 题目2: 最短路径算法 专 业 计算机科学与技术 学 生 姓 名 张亚萍 班 级 学 号 指 导 教 师 黄海平 指 导 单 位 计算机学院 日 期 2012.4.16-4.26 指导教师成绩评定表 学生姓名 张亚萍 班级学号 专业 计算机科学与技术 评分内容 评分标准 优秀 良好 中等 差 平时成绩 认真对待课程设计,遵守实验室规定,上机不迟到早退,不做和设计无关的事 设计成果 设计的科学、合理性 功能丰富、符合题目要求 界面友好、外观漂亮、大方 程序功能执行的正确性 程序算法执行的效能 设计报告 设计报告正确合理、反映系统设计流程 文档内容详实程度 文档格式规范、排版美观 验收答辩 简练、准确阐述设计内容,能准确有条理回答各种问题,系统演示顺利。 评分等级 指导教师 简短评语 该同学出勤率(满勤、较高、一般,较低),学习态度(端正、较端正、一般、较差),演示程序(未)达到了(基本要求、提高要求1或/和2),撰写报告格式(规范、一般)、表述(清晰、一般、不清楚) 指导教师签名 日期 2012-4-30 备注 评分等级有五种:优秀、良好、中等、及格、不及格 进程的同步与互斥 课题内容和要求 (1)课题内容:在一个班上有S个学生。每个学生都要做一个项目,每一个项目由K个老师一起评分。总共有M个老师。每个老师最多给N个项目评分。其中,S*K=M*N。 在项目结束后,老师们提供T分钟用来检查学生们的项目。检查每一个学生的项目需要用时D分钟。其中,TD。每一个学生的项目由K个老师共同来检查。在T分钟的时间段内,学生可以在任何时间进入教室(random),除了在最后的D分钟内。所有的老师一直保持工作状态直到他检查完N个项目或者是T分钟过去后。T分钟过去后,所有的老师和同学都必须离开教室。另外,在T分钟结束前的D分钟内(即在最后的D分钟内),如果有任何老师或者是学生都处在没有任务的状态下,都必须离开教室,因为已经没有时间让他完成任务了(因为一个项目检查的时间是整整D分钟)。 用一个程序来模拟上面描述的作业检查过程。每一个学生和每一个老师应该用不同的线程来完成。当一个学生进入教室后,他立即开始找K个没有任务的老师(一次找一个老师,假如没有空闲的老师,则等到有老师为止),找齐K个老师之后给老师检查,然后离开教室。刚开始每一个老师都是处于空闲状态直到他被学生找到,被学生找到后只能等待,直到学生找齐K个老师(在等待学生找其他老师的时间里,他是不能接受其他同学检查作业的请求的),当学生找齐K个老师后,老师们执行完检查任务,然后重新变成空闲状态。每个老师在总共检查了N个学生的作业后,离开教室。 (2)课题要求:①用一个程序来模拟上面描述的作业检查过程。每一个学生和每一个老师应该用不同的线程来完成(可以选用C、C++和Java作为开发语言,但是考虑到专业课程设计I的实验大纲,请尽可能使用Java语言);②考虑到跨平台的特性,请尽量使用posix线程标准;③实现良好的图形用户界面;④在程序演示过程中能清晰的展示多个学生线程和多个老师线程的同步和互斥流程。 需求和思路分析 java线程 本次课程设计采用java线程,线程是一个程序内部的顺序控制流,一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径。多进程:在操作系统中能同时运行多个任务(程序);多线程:在同一个应用程序中有多个顺序流同时执行;Java线程是通过java.lang.Thread类来实现的;VM启动时会有一个由主方法(public static void main(){})所定义的线程;以通过创建Thread的实例来创建新的线程每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体通过调用Thread类的start()方法来启动一个线程。 (1)Java线程的创建和启动 有两种方式创建新的线程: 第一种: ①定义线程类实现Runnable接口 ②Thread myThread = new Thread(target);//target为Runnable接口类型 ③Runnable中只有一个方法:publi

您可能关注的文档

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档