1. 程式人生 > >JAVA-初步認識-第十二章-多線好處與弊端

JAVA-初步認識-第十二章-多線好處與弊端

提高 有一個 多個 bsp log 運行 spa 時間片 es2017

一.

看著多線程技術很好,為什麽不全都用多線程來解決問題呢?

多線程是有弊端的,在下圖當中真的是在同時執行嗎?

技術分享圖片

Windows本身就是一個多任務同時執行的操作系統,誰在負責程序的執行,cpu。Cpu在負責內存中的程序運行。它怎麽知道運行的呢?cpu在多個任務間做著快速地切換,特別地快,一眼看過去好像在執行多個程序,實際上一個時間點上只有一個執行路徑在執行。

當運行的程序變多時,每一個程序被cpu處理的頻率就變慢了,它被處理的機率就變低了,最終執行完畢的時間就延長了。

想想看,能不能提高這個效率呢?很簡單,2個cpu就搞定了。2個cpu占主板的空間。多個cpu能達到真正意義上的同時執行。

多線程技術確實能幫助我們解決多個程序需要同時執行的問題。我們學程序是為了解決問題用的,都能解決啥問題?多程序同時執行。但是它有弊端,開多了,效率低。很多線程的話,忙不過來就死機。真正的雙核和四核cpu上,最大的好處在哪?內存。

Cpu的切換是隨機的,依賴於誰呢?時間片。

技術分享圖片

快速地同時切換,使得人們看到了多線程技術。

JAVA-初步認識-第十二章-多線好處與弊端