day23-多線程上

學(xué)習(xí)劉意老師java基礎(chǔ)的筆記

2:什么是進程?

通過任務(wù)管理器我們就看到了進程的存在。

而通過觀察,我們發(fā)現(xiàn)只有運行的程序才會出現(xiàn)進程。

進程:就是正在運行的程序。

進程是系統(tǒng)進行資源分配和調(diào)用的獨立單位。每一個進程都有它自己的內(nèi)存空間和系統(tǒng)資源。

3:多進程有什么意義呢?

單進程的計算機只能做一件事情,而我們現(xiàn)在的計算機都可以做多件事情。

舉例:一邊玩游戲(游戲進程),一邊聽音樂(音樂進程)。

也就是說現(xiàn)在的計算機都是支持多進程的,可以在一個時間段內(nèi)執(zhí)行多個任務(wù)。

并且呢,可以提高CPU的使用率。

問題:

一邊玩游戲,一邊聽音樂是同時進行的嗎?

不是。因為單CPU在某一個時間點上只能做一件事情。

而我們在玩游戲,或者聽音樂的時候,是CPU在做著程序間的高效切換讓我們覺得是同時進行的。

4:什么是線程呢?

在同一個進程內(nèi)又可以執(zhí)行多個任務(wù),而這每一個任務(wù)我就可以看出是一個線程。

線程:是程序的執(zhí)行單元,執(zhí)行路徑。是程序使用CPU的最基本單位。

單線程:如果程序只有一條執(zhí)行路徑。

多線程:如果程序有多條執(zhí)行路徑。

5:多線程有什么意義呢?

多線程的存在,不是提高程序的執(zhí)行速度。其實是為了提高應(yīng)用程序的使用率。

程序的執(zhí)行其實都是在搶CPU的資源,CPU的執(zhí)行權(quán)。

多個進程是在搶這個資源,而其中的某一個進程如果執(zhí)行路徑比較多,就會有更高的幾率搶到CPU的執(zhí)行權(quán)。

我們是不敢保證哪一個線程能夠在哪個時刻搶到,所以線程的執(zhí)行有隨機性。


itcast_01

itcast_02


itcast_03


itcast_04









itcast_05


itcast_06

itcast_07


itcast_08



itcast_09

itcast_10


itcast_11






itcast_12

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容