Flag倒啦倒啦QAQ 第四次作业 回顾 本次作业是笔者编写的第一个Java多线程程序,效果较好。在开始之前,笔者仔细阅读了机械工业出版社Java语言程序设计(进阶篇)中关于多线程的一章内容,对Java多线程相关知识有了基本的了解,随后便迫不及待地开始上手。由于本次作业仅是在之前的电梯规则上稍作改动 ...
分类:
其他好文 时间:
2018-05-01 23:34:59
阅读次数:
184
第五次作业:三部电梯的多线程调度 度量分析: 类图: 度量分析中: scheduling方法是电梯调度的主要函数,由于需要依靠指令和电梯状态来判断同质与捎带等等,嵌套得比较深,另外函数体也过大,复杂度有点大 从类图中可以看出各个类之间还算均衡,电梯类比较大,主要是它要记录的一些状态及相关标记比较多, ...
分类:
其他好文 时间:
2018-05-01 23:30:08
阅读次数:
173
这个四月,多线程电梯,IFFF文件管理,出租车系列作业之——version1.(鬼知道我经历了什么......) 不用说,三个作业都不是什么省油的灯(白眼)。那先从电梯系列作业终极版——多线程电梯说起吧。 因为之前的电梯程序我写的并不好,在之前的两个版本中我也没对代码做大篇幅的改动,所以各种设计缺陷 ...
分类:
其他好文 时间:
2018-05-01 23:22:44
阅读次数:
188
电梯多线程 设计策略: 由于此次的电梯要求完全模拟现实中的情况,所以主要对电梯的运动方式做了变动,以前是接到请求以后立即转变状态并判断捎带请求,而且由于只有一部电梯,电梯的等待列表是确定的。这次由于有三部电梯,电梯的等待列表也是即时输入的,所以电梯的等待列表需要即时更新,等待列表中哪条请求可以被捎带 ...
分类:
其他好文 时间:
2018-05-01 20:23:28
阅读次数:
105
(1)从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化。 第五次作业 第五次作业是对多线程的初步探索,所以对于多线程的基本书写机制的认识比较多。本次作业难点在于了解多线程的运作机制,努力构建线程安全的操作方式,合理构造电梯之间、电梯与请求之间的协作关系。值得注意的是电梯、乘客 ...
分类:
其他好文 时间:
2018-05-01 20:17:14
阅读次数:
169
多线程电梯 设计策略 用户发出请求加入请求队列,调度器根据电梯的状态为电梯分配请求,每个电梯有自己的执行队列,根据执行队列的请求来改变自身的状态。用户请求处理器和调度器共享请求队列,调度器和电梯本身存在对电梯状态进行同时读写,因此需要对这两个做数据保护。 一开始以为电梯是要模拟真实运行状态,对时间不 ...
分类:
其他好文 时间:
2018-05-01 15:57:42
阅读次数:
198
第五次作业: 程序度量: 类图: 评价: 自认为这是到现在以来oo本人写得最成功的项目。虽然是第一次接触多线程,但是写出来的工程可以接受,并且没有(明显的)bug。虽然是多线程电梯,但是为了保证输出时间没有误差,因此使用了“假时间”这一概念。引用某位大佬的话:“假时间才是正确操作!”程序运行时共有5 ...
分类:
其他好文 时间:
2018-05-01 15:28:09
阅读次数:
167
多线程初体验 ? 第二阶段的这三次作业,自己写的还是蛮惨的,找不出来别人bug,但一直在被别人挂bug,不过这三次作业遇到的互测者态度是真的友善,2333。恩,下面逐一分析一下这三次作业代码。 第五次作业——多线程电梯 ? 本次作业有实际意义的类共有5个。当然还有其他一些辅助的enum,或者单纯传递 ...
分类:
其他好文 时间:
2018-05-01 15:15:10
阅读次数:
161
一、从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化 第五次:这次作业我的策略便是读入指令一个线程、调度器一个线程、电梯三个线程,通过调度器线程将读入指令线程读入的指令分配给三个电梯,而三个电梯则一直在运行,检测是否有指令产生。本次作业完全使用synchronized关键字进 ...
分类:
其他好文 时间:
2018-05-01 14:12:11
阅读次数:
140
一、 分析和总结自己三次作业来的设计策略及其变化 a) 第一次作业 比较幸运第一次接触多线程的时候就可以遇到最后的方案,这次作业我运用的是synchronized+notified的策略,通过电梯线程和scheduler线程互相唤起来实现多线程的运行,而在线程不进行计算的时候就让现场wait。这样将 ...
分类:
其他好文 时间:
2018-05-01 10:50:27
阅读次数:
129