日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第二次OO总结

發布時間:2024/6/30 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二次OO总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

寫在前面

  在學習完成了面向對象的基本思想后,我們的面向對象課程進入了第二階段的學習過程:多線程編程。多線程處理可以同時運行多個線程。由于多線程應用程序將程序劃分成多個獨立的任務,因此可以顯著提高性能。多線程技術使程序的響應速度更快,當前沒有進行處理的任務時可以將處理器時間讓給其它任務。但是,多線程需要協調和管理,線程太多會導致控制太復雜,最終可能造成很多Bug。這三次的作業,就讓我對多線程有了更加深刻地認識。


正文

第五次作業

總述

  這一次的作業是在前面兩次作業的基礎上,改變了電梯數量和實現方式,要求使用多線程來實現對電梯的調度,以及電梯對請求的響應。雖然在功能上沒有什么改變,但是由于多線程的要求,在實現過程中我遇到了許多困難。

類圖:

度量分析:

分析

  此次作業我在線程的run方法中寫了太多的功能,導致程序執行起來非常緩慢。另外,由于沒有對線程增加一些合適的同步控制方法,我的程序在運行起來有著很多的不確定性,經常會出現對同一測試用例,每次運行的結果都不相同。甚至,程序有時候會莫名的crash。這些都是因為自己沒有對多線程做出很好的控制。

  這次作業我也被找出了五個bug。其中有一個是格式問題,由于自己正則表達式是對一行就行匹配處理,所以自己的程序對于一行有多條指令的情況時,沒有過濾掉非法指令,只處理正確的指令。另外的幾個bug都是因為多線程導致的不確定性,特別是執行順序的不確定性導致對于同質請求的判斷出現問題。

我的心得體會

  多線程雖然可以提高程序的執行效率,但是編寫多線程程序的難度遠遠大于單一線程的程序。這次作業,更是讓我深刻體會到了多線程的玄學之處。還有最重要的是,多線程程序在尋找修改bug的時候非常困難,一般的調試方法是行不通的。

第六次作業

總述

  這次作業是讓我們體會多線程安全的處理方法,如何才能寫出線程安全的類,使得程序的運行結果確定可控,是這次作業的重點。本次作業的目標是訓練同學們針對線程安全問題,如何平衡線程訪問控制和共享對象之間的矛盾。作業內容是實現一個監控程序,針對給定監控范圍內的監控對象,以掃描方式探查監控對象相關屬性的變化,從而觸發規定的處理動作。

類圖:

度量分析:

  從上面可以看出,對監控范圍的掃描在很大程度上影響了程序的效率。

作業分析

  這次作業的難度,筆者個人認為是比上一次作業簡單的,可能是因為我們學習了如何去控制線程的安全。此次作業,主要就是要建立一個線程安全的safefile類,確保在對文件進行操作的時候,不進行掃描。以及對于監控范圍建立快照,確定掃描周期,使得可以按照一定頻率去進行掃描,對比前后兩次的快照,從而檢測到文件的變化。

  這次作業主要出現的問題就是recover操作帶來的影響,也就是recover操作可能會讓其它線程也檢測到變化,從而得到不必要的響應。作業也必須確定合適的掃描周期,從而可以實現對較大深度和較大廣度目錄的檢測。

心得體會

  這次作業總的來說,實現的功能較為簡單,只要你能夠構件號線程安全的類,并且控制好掃描頻率,就可以很好的完成這次作業。另外,這次作業也讓我對java的文件操作更加熟悉。對于線程的控制更加得心應手。

第七次作業

總述

  第七次作業主要考察的是我們的設計風格,以及程序的編寫規范,培養我們對于程序的規范性認識。作業要求我們模擬出租車的乘客呼叫與應答系統,設置100輛出租車,對于乘客的請求進行處理。這次作業也擁有至少100個線程,如果沒有很好的設計,程序執行起來會顯得效率十分低下。通過對這次作業的完成,我明白了從初始就構造一個好的設計尤為重要。

類圖:

度量分析

作業分析

  通過上面的度量分析可以看出,我的window類的復雜的較高,原因就在于,我把判斷調度出租車的方法全部寫到了這個類當中。這次作業總的來說難度不大,就是為了考察我們的設計方法以及代碼規范。通過對需求分析文檔的編寫,我在開始編寫代碼之前,就有了明確的任務和思路。另外,由于那12項設計原則的限制,我這次作業的代碼層析更加清晰,各個類分工很明確,代碼的可讀性、可移植性也很高。


感悟

  經過四次課程的學習和三次作業的磨練,我對于多線程編程思想有了初步的了解,明白了如何去編寫線程安全的程序,還懂得了許多設計規則,讓我對面向對象編程思想的理解也更加深刻。我非常期待接下來的學習。

轉載于:https://www.cnblogs.com/jy0205/p/8980748.html

總結

以上是生活随笔為你收集整理的第二次OO总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。