zoukankan      html  css  js  c++  java
  • OO第二次博客作业

    第五次作业

    类图

    度量

     Bug分析

    1.本次写无效输入的正则时忘记判断了0楼层为非法指令导致错误。

    2.第一次写多线程设计,很多线程之间的同步控制没有办法很好的理清楚,在电梯状态转换的边界上的线程同步控制处理不当。

    设计分析

    本次设计时没有很好的理清楚各个线程状态转换时,线程之间的交互逻辑。导致当电梯在转换边界的指令的捎带情况会出现问题。

    第六次作业

    类图

    度量

    Bug分析

    1.未能正确理解指导书的rename逻辑,导致rename逻辑出错。

    2.输入判断逻辑有误,导致输入时不能正确的在指令条数过多时停止。

    设计分析

    本次作业主要难点在于正确理解指导书后,将每个功能理解清楚。我将每次监控请求都作为一个线程来运行,这样保证了每个线程之间的消息独立性。代码量和思维量也减小很多,体现了多线程编程的好处。

    第七次作业

    类图

     

    度量

    Bug分析

    由于时间是取自系统时间,且时间精度为100ms,可能会因为1ms的误差导致最后100ms的误差。

    设计分析

    将每辆出租车,每个请求各开一个线程。然后通过一个请求列表来进行出租车和请求之间的交互。这次出租车的状态转换之间的线程同步处理较为简单,只需注意出租车在改变状态时的几种情况即可。

    发现别人bug的策略

    由于这几次作业都是多线程,不好通过大量的数据来批处理的测试对方bug。因此主要采取测公测时研究对方代码的逻辑来进行测试。

    多线程设计总结

    多线程的设计关键在于几点:对对象分析之后线程的选择,线程与线程之间的同步状态的问题,线程安全问题。

    心得体会

    感受到了多线程的程序的方便之处。

  • 相关阅读:
    Hadoop学习之安装HDFS
    常见的6种数据结构
    maven 编译出错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
    jquery解决js对象、数组赋值时的引用传递
    405 method not allowed(方法不被允许)
    身份证件号 正确性检查方法
    svn 提交信息模板
    idea 使用说明
    java-System类
    java-Integer 类
  • 原文地址:https://www.cnblogs.com/chuizi000/p/8981111.html
Copyright © 2011-2022 走看看