粵嵌java課程關于并發編程的思考——為什么需要并發?什么是并發?并發其實是一種解耦合的策略,它幫助我們把做目標和什么時候時機分開。這樣做可以明顯改進應用程序的吞吐量,獲得更多的CPU調度時間和結構(程序有多個部分在協同工作)。
關于并發的誤解和正解分別有哪些:
常見的對并發編程的誤解有以下這些:
1、并發總能改進性能(并發在CPU有很多空閑時間時能明顯改進程序的性能,但當線程數量較多的時候,線程間頻繁的調度切換反而會讓系統的性能下降);
2、編寫并發程序無需修改原有的設計(目的與時機的解耦往往會對系統結構產生巨大的影響);
3、在使用Web或EJB容器時不用關注并發問題(只有了解了容器在做什么,才能更好的使用容器)。
下面的這些說法才是對并發客觀的認識:
1、編寫并發程序會在代碼上增加額外的開銷;
2、正確的并發是非常復雜的,即使對于很簡單的問題;
3、并發中的缺陷因為不易重現也不容易被發現;
4、并發往往需要對設計策略從根本上進行修改。
Java并發編程的原則和技巧
單一職責原則:分離并發相關代碼和其他代碼(并發相關代碼有自己的開發、修改和調優生命周期)。
限制數據作用域:兩個線程修改共享對象的同一字段時可能會相互干擾,導致不可預期的行為,解決方案之一是構造臨界區,但是必須限制臨界區的數量。
使用數據副本:數據副本是避免共享數據的好方法,復制出來的對象只是以只讀的方式對待。線程應盡可能獨立:讓線程存在于自己的世界中,不與其他線程共享數據。
想學習Java課程,請點擊在線咨詢或者親臨粵嵌Java培訓班體驗課程。粵嵌12年IT從業經歷,幫助你實現Java高薪夢。