OO第二次部落格總結

2022-05-23 06:57:10 字數 1742 閱讀 2487

第五次作業:

度量圖:

類圖:

分析:這次作業的主要問題是對電梯請求如何分配給三部電梯,讓他們能夠同時工作且不出現問題。這其中涉及到了關於執行緒安全,資料同步的問題。

但由於這是多執行緒的第一次作業,自己以前對多執行緒沒有一點概念,做此次作業之前查閱了很多資料,但還是有很多地方並沒有真正弄明白。這在此次作業中體現的很明顯。從度量圖看,我的程式圈複雜度太大,說明程式**質量低且不易維護,其次塊巢狀深度過高,以及引數過多,這都是直接可以看出來的問題,然後我的類圖也很雜亂無章,沒有設計好。總體來說,自己沒有把握好時間,搞清楚多執行緒花了很久,設計程式時間不足,導致這完全就是乙個趕時間的程式。

自己的bug:這次由於沒設計好,功能性測試幾乎都錯了,只過了幾個簡單的例子。

測試任務:可能他也沒有好好設計吧,只要輸入回車,程式就crash,他是因為輸出時用了很奇怪的方式,我幫他改了下,結果和我差不多,功能性測試幾乎不對。

第六次作業:

度量圖:

類圖:

分析:這次作業是設計乙個檔案監控系統,首先對監控作業進行處理,忽略掉非法監控,將合法監控提取出來。至於對檔案如何監控,我的辦法是為所監控的物件建立快照,將其屬性儲存下來,然後再等乙個掃瞄週期(我的是50ms)將新的快照與舊的進行對比,發現其改變的屬性,就可以看是否相應的觸發器,執行相應的任務。

但我這樣做好像有問題,就是在path-changed的時候,它不響應,我單步執行發現其新的快照集和舊的變得一樣了,也就是50ms這個週期沒有捕捉到這個變化,所以我把時間改為60ms就可以了。總的來說,這次比上次好,至少弄清楚了多執行緒的基本思想,也學會了正確進行加鎖同步。

自己的bug:path-changed監控出錯,應該是週期的問題。

測試任務的bug:他的程式不能實現檔案安全類功能不完整,很多功能沒有實現,測試起來較為困難,他在多執行緒安全處理也不行,有的變化不予響應,且summary與detail會重覆記錄。

第七次作業:

度量圖:

類圖:

分析:這次是設計乙個計程車排程系統,我的實現思想是,先完成地圖匯入及計程車初始化的工作。計程車初始化主要就是開一百個執行緒,讓計程車隨機執行。然後獲取乘客請求進行處理,這部分就按照指導書的要求,挑選符合要求的計程車,進行派單,記錄其執行資訊。

這次作業相比前兩次完成的要好,可能是自己對多執行緒有了更進一步的理解,也是一點點在進步吧。

自己的bug:由於粗心,沒有仔細檢查,有個地方陣列越界,crash了。

測試任務的bug:他的程式沒有把路徑記錄完,只記錄了一部分請求記錄,而且對同質請求處理不當。

總結:總的來說,自己從不會多執行緒到慢慢入門,一點點在進步,還是蠻開心的,不僅是作業,周五的oo上機我也學到了很多。反正對待乙個學習任務,慢慢去學,不放棄,總會弄清楚的。

OO第二次部落格總結

一 前言 oo的複雜程度可能和寫完的時間成正比,多項式時週三電工實習不帶電腦,到了計程車已經發展成週三下午5點開始寫readme 不過相比前幾次為語法耗費時間,計程車更多的是為設計來投入精力。多執行緒debug也很有意思,在寫多部電梯時,自己猛然發現除錯時加入的一句system.out.printl...

OO第二次部落格作業

從第4次作業開始,就進入了多執行緒程式設計的環節。我個人對於多執行緒的理解就是在乙個程式在執行時有多個執行流,能夠實現多個執行緒併發執行的技術。由於能在同一時間內執行多個執行緒,因而能夠提公升計算機的整體處理效能。第五次作業分析 由於第五次作業是我第一次接觸到多執行緒程式設計,因此這次作業對於我來說...

OO第二次部落格作業

第五次作業和第六次作業因為一些個人原因被判了無效所以這裡就不拿出來分析了 捂臉 第七次作業 設計乙個簡單的計程車排程系統 類圖 度量分析 其實在剛看到指導書的時候,覺得排程規則十分複雜。週日看了一下午指導書之後才大概想到一點思路,接著就開始了一步步嘗試。其實這次作業的目標十分明確,每個執行緒的任務很...