• OO第二次博客作业


    第五次作业

    类图

    度量

     Bug分析

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

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

    设计分析

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

    第六次作业

    类图

    度量

    Bug分析

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

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

    设计分析

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

    第七次作业

    类图

     

    度量

    Bug分析

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

    设计分析

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

    发现别人bug的策略

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

    多线程设计总结

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

    心得体会

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

  • 相关阅读:
    BZOJ 1452 Count(二维树状数组)
    BZOJ 1407 Savage(拓展欧几里得)
    BZOJ 1415 聪聪和可可(期望DP)
    BZOJ 1406 密码箱(数论)
    最大流小结
    UVA6531Go up the ultras
    二分图小结
    Codeforces Round #243 (Div. 1)
    图论模板集合
    zoj3416 Balanced Number
  • 原文地址:https://www.cnblogs.com/chuizi000/p/8981111.html
Copyright © 2020-2023  润新知