OO第二階段總結

oo第8次做業

oo第5次做業

  • 第五次做業多線程分析:第五次做業是第一次多線程做業,對於這次做業的多線程關鍵在於對於輸入指令的分配過程當中出現的問題,不能把相同的指令分配給不一樣的電梯等問題。我採起的設計是利用java自帶的線程安全類ConcurrentLinkedQueue來對指令進行存儲,避免了線程安全衝突的問題
  • 第五次做業程序結構:從程序結構角度考慮,第五次做業由於將請求的處理以及請求的選取等都交給了電梯類來進行相應的處理,因此致使了電梯類設計上過於臃腫,之後要避免
    java

  • 分析本身程序的bug:本身程序中由於電梯類方法處理了比較多的事情,因此在同質的判斷上,由於線程運行的問題,使得同質問題不可以很好的獲得處理,此處會有相應的bug
  • 分析別人程序bug所採起的策略:將本身測試過程當中發現問題的樣例拿去進行測試,發現輸出順序的一個bug編程

oo第6次做業

  • 第六次做業多線程分析:第六次做業看似好像有不少線程安全的問題,其實只要對程序的執行順序進行控制,即先進行建立文件寫文件等操做以後,再對文件信息的內容進行讀取,則能夠避免線程安全的問題
  • 第六次做業程序結構:第六次做業寫以前沒有進行很好的設計分析,寫的過程當中遇到相應的問題再去進行調整,因此程序的類比較多,且功能有些重複,下次要注意先進行適當的分析以後再開始寫
    安全

  • 分析本身的bug:本身程序的bug在於recover操做並無獲得很好地處理,致使有些狀況下進行相應地操做以後,recover並無生效,屬於設計上就沒有解決的bug
  • 分析別人程序bug所採起的策略:第六次做業抽到的人程序較爲簡潔,因此採起了讀代碼的方式進行bug的查找,最後發現他處理文件之時並無考慮原來文件夾中的內容狀況致使的2個bug多線程

oo第七次做業

  • 第七次做業多線程分析:第七次做業線程方面的問題主要是請求不能被多個車子執行或者一個車子執行多個請求等問題,關於這次多線程的處理,就是再出租車類中加上相應的鎖來避免這種狀況。
  • 第七次做業程序結構:第七次做業設計過程當中沒有考慮全面,致使類的設計有點少,以後功能都是加在了相應的類上,致使一個類的任務有點繁雜,並無很好地區分開來,下次設計要注意儘可能考慮清楚所有狀況
    測試

  • 分析本身的bug:由於好多功能是完成了大部分程序以後纔去添加的,因此致使不少輸出方面未輸出前面的狀況,且缺少測試,公測地圖範圍外的點也沒有加以考慮,下次寫做業要注意細節的測試
  • 分析別人bug的策略:看了別人代碼以後,沒發現bug線程

心得體會

利用這門課,首次真正地去編寫多線程的程序,讓本身對於多線程有了初步的認識,對於多線程程序編程過程當中容易出現的問題也有了必定的認識,慢慢地也知道如何去進行多線程方面的bug調試設計

相關文章
相關標籤/搜索