zoukankan      html  css  js  c++  java
  • oo第二阶段总结

    一、第五次作业:

    类图:

    度量图:

    主调度线程和等待队列一直循环扫描,易出现多层嵌套,以后尽量解决这一问题

    时序图:

    自己的BUG:

    别人的BUG:

    拿到的代码接近(甚至可以算是无效作业),到处都是漏洞,基本上没有可以运行的指令。

    心得体会:

    初次接触多线程,感觉难度有点大。

    第一次写,加的锁也都非常乱,给一段代码加对象锁,好在我的共享对象一直只有那一个,不会出现死锁的问题。

    二、第六次作业:

    类图:

    度量图:

    emmm监控线程因为需要循环扫描至使嵌套太深,以后多加注意

    时序图:

    自己的BUG:

    因为没有来的及写目录监控,被报了6个BUG,文件类的监控没有问题。

    别人的BUG:

    因为当时没有时间细测,他的程序可以实现监控功能,但是对象有时候会混乱,识别到变化的不一定是真正发生变化的那个对象。比如,你重命名了file.txt文件,但是他记入detail的是,你重命名了file1.txt文件。而且有时候还会记入多次,这个可能是多线程控制那里出了问题。

    心得体会:

    IFTTT绝对是我最糟糕的一次oo作业了,可能是上次的多线程电梯并没有带给我太大的冲击,因此没有特别紧张的对待这次作业。事实上,这次作业的难度并不在线程控制,而在对文件操作的理解还有那些复杂的文件操作上面。

    至于这次作业的多线程问题,因为构建了一个线程安全类,线程安全问题迎刃而解。在构造对象锁太过杂乱复杂的时候,我们应该想起去构造线程安全方法,从而构造线程安全类。

    三、第七次作业:

    类图:

    度量图:

    输入处理上总是出现嵌套太深,这个以后尽量改进

     时序图:

     

    自己的BUG:

    因为粗心,readme没有写清楚我只在坐标小于10时支持一个前导0,其他情况下都不支持前导0,被人报了一个ERROR,正在申诉改成INCOMPLETE。

    还有1个ERROR和1个CRASH正在申诉,我实在不知道为什么在他那运行不正确,我怎么试都是对的。

    别人的BUG:

    emmmmm,再次因为时间原因,没有给他互测.....

    心得体会:

    出租车并没有学长学姐描述的那样简单,难度上可能降低了一些??但是复杂程度并没有减少,花费的时间还是很长。

    再加上此次作业的要求比较多,要用上GUI啊,接口啊,十四个原则啊什么的,虽然最后实现起来也很简单,但总是给人造成心理上巨大的压力。

    这次作业在线程控制上,我同样采取了线程安全类的构造方式,将我的出租车调度类的一些方法都设为线程安全方法(加锁),出租车调度和用户都可以安全调用这些方法。

    四、总结

    通过该阶段对多线程的学习了解,我渐渐体会到了并行思想的美妙,让自己的程序模拟真实场景,达到想要的功能。

    我觉得多线程需要注意的就是两点:1.记得加锁 2.不能死锁,能够灵活正确的使用这两点就是我们现阶段多线程学习的主要目标。

  • 相关阅读:
    java 菜单
    QT 让信号自由飞翔(骚操作)
    QT editLine 无法输入的问题
    易经初学体会
    Cgroup
    springboot pom 引用集合
    使用ab测试工具 进行并发测试
    intellij 设置-试验过的
    【iis错误码】IIS 服务 这些年遇到的错误码
    101个创业失败案例背后的20大原因
  • 原文地址:https://www.cnblogs.com/luluzhang/p/8979972.html
Copyright © 2011-2022 走看看