第二次oo总结

1.多线程电梯调度

 

  这一次写的还是我们熟悉的电梯,只不过与之前不同的是这回要写三部电梯,要加入线程这一思想。我没有继承之前的电梯程序而是选择了重写,我相比之前多构造了调度类来对请求队列里的请求进行调度。我的一台电梯作为一个线程,调度类再作为一个线程进行调度,共同访问队列。因为电梯之间存在竞争和安全关系,所以还用到synchroniezd锁住方法对象等。

  至于bug主要是存在于线程安全这方面。第一次接触多线程对于锁的应用还没有完全掌握,所以会出现一些不安全的问题,这次之后,对锁和多线程有了更深一步的理解。

2.IFTTT

 

 

  这次作业是对文件目录进行监控管理,这次作业的难点在于对于对目录的操作。监控目录时需要监控目录下所有的文件的变化情况,需要递归遍历该目录下所有的文件和子目录来获得所有文件的状态变化。由于文件操作的一些方法并不是线程安全的,所以要加上synchroniezd方法锁。bug方面,主要的bug大多出现在目录监控,我的bug大多是逻辑方面的bug,在线程安全方面就还好。

 3.模拟出租车打车系统

 

 

 

 这次作业是写多线程出租车,这次作业还引入了gui,可以让我们更直观的看到出租车运行的效果。这次作业我用的还是请求队列。输入处理线程负责接收控制台输入并处理,主调度线程对每一请求创建一个调度线程,调度线程在4x4区域广播然后选择一辆出租车,出租车服务结束后,调度线程输出信息,然后结束。

心得体会

之前的作业虽然一直有在写,但有的结果并不是很好,无效的次数也不少了,以后也没剩几次编程作业了,还是要坚持下去。

 

posted @ 2018-05-02 01:57  韩文然  阅读(135)  评论(0编辑  收藏  举报