當前位置:編程學習大全網 - 源碼破解 - Java多線程問題總結?

Java多線程問題總結?

Java多線程分類中寫了21篇多線程的文章,21篇文章的內容很多,個人認為,學習,內容越多、越雜的知識,越需要進行深刻的總結,這樣才能記憶深刻,將知識變成自己的。java課程培訓機構認為這篇文章主要是對多線程的問題進行總結的,因此羅列了多個多線程的問題。

這些多線程的問題,有些來源於各大網站、有些來源於自己的思考。

(1)發揮多核CPU的優勢

隨著工業的進步,現在的筆記本、臺式機乃至商用的應用服務器至少也都是雙核的,4核、8核甚至16核的也都不少見,如果是單線程的程序,那麽在雙核CPU上就浪費了50%,在4核CPU上就浪費了75%。單核CPU上所謂的”多線程”那是假的多線程,同壹時間處理器只會處理壹段邏輯,只不過線程之間切換得比較快,看著像多個線程”同時”運行罷了。多核CPU上的多線程才是真正的多線程,它能讓妳的多段邏輯同時工作,多線程,可以真正發揮出多核CPU的優勢來,達到充分利用CPU的目的。

(2)防止阻塞

從程序運行效率的角度來看,單核CPU不但不會發揮出多線程的優勢,反而會因為在單核CPU上運行多線程導致線程上下文的切換,而降低程序整體的效率。但是單核CPU我們還是要應用多線程,就是為了防止阻塞。試想,如果單核CPU使用單線程,那麽只要這個線程阻塞了,比方說遠程讀取某個數據吧,對端遲遲未返回又沒有設置超時時間,那麽妳的整個程序在數據返回回來之前就停止運行了。多線程可以防止這個問題,多條線程同時運行,哪怕壹條線程的代碼執行讀取數據阻塞,也不會影響其它任務的執行。

(3)便於建模

這是另外壹個沒有這麽明顯的優點了。假設有壹個大的任務A,單線程編程,那麽就要考慮很多,建立整個程序模型比較麻煩。但是如果把這個大的任務A分解成幾個小任務,任務B、任務C、任務D,分別建立程序模型,並通過多線程分別運行這幾個任務,那就簡單很多了。

  • 上一篇:求CCTV6最近幾年放的古裝系列電影?如題 謝謝了
  • 下一篇:錫林郭勒現在天氣如何?
  • copyright 2024編程學習大全網