Java多線程(一)多線程基礎之進程、線程、并發(fā)、并行。

無論在哪種編程語言中,多線程都是重中之重。所以說掌握多線程并發(fā)編程是一個優(yōu)秀的程序員所必須的一項技能。雖然平時都有封裝好的現(xiàn)成的可以使用,但是知識呢要吃到肚子才更安心。下面我們就通過一系列的博文,來系統(tǒng)的介紹下多線程。

首先我們還是得從進程、線程基礎知識開始介紹。

什么是進程?

① 進程是系統(tǒng)進行資源分配的最小單位,也是系統(tǒng)進行資源調(diào)度的基本執(zhí)行單元。
② 它是程序的一次執(zhí)行過程。簡單點的說“進程是正在運行的程序的實例”。
③ 每個進程運行在受保護的獨立的內(nèi)存空間內(nèi),進程和進程之間互不干擾。

什么是線程?

① 線程是CPU調(diào)度的最小單位,是進程中的一個實體。
② 每一個應用程序在啟動之后,都會默認開啟一條主線程,除了主線程,其他的線程都是子線程。
③ 一個線程可以創(chuàng)建和撤銷另一個線程。(線程的生命周期放在下一篇博文里面。)

進程、線程區(qū)別是什么?

① 進程和線程都是程序運行的基本單元,一個程序至少有一個進程,一個進程至少有一個線程。
② 線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。
③ 同一個進程中的多個線程之間可以并發(fā)執(zhí)行,線程共享內(nèi)存,從而極大地提高了程序的運行效率。

關于并發(fā)、并行的區(qū)別

并發(fā)
簡單的來說就是指一個時間段內(nèi),多個任務同時處于運行活躍狀態(tài),而不是在同一時刻運行多個任務。那問題來了,為什么我們感覺像是多個任務同時執(zhí)行的呢?這是因為每個線程都被分了一個時間段,叫做時間片。因為CPU處理速度很快,所以看上去就是多個任務在同時執(zhí)行,實際上就只有一個任務在執(zhí)行。

并行
并行相對來說能簡單些,指若干個程序段同時在系統(tǒng)中運行,這些程序的執(zhí)行在時間上是重疊的,一個程序段的執(zhí)行尚未結(jié)束,另一個程序段的執(zhí)行已經(jīng)開始,無論從微觀還是宏觀,程序都是一起執(zhí)行的。

舉個例子
在幼兒園呢有很多小寶寶對吧,現(xiàn)在有個小寶寶(程序或者線程)不開心,哭了。其他小寶寶受到這個小寶寶情緒感染,陸續(xù)開始哭,這時你(CPU)要快速把一個小玩具遞給一個正在哭的小寶寶,他有了小玩具就不哭了。理論上只要你夠快(CPU執(zhí)行速度),誰哭就把這個小玩具送給誰,就沒有小寶寶哭了,這就是并發(fā)。并行就是多了幾個幼師,每個幼師都送給各自寶寶一個玩具,每個寶寶現(xiàn)在都有玩具了,這就是并行。

寫完嘍!ㄟ(▔,▔)ㄏㄟ(▔,▔)ㄏㄟ(▔,▔)ㄏ


知識重在總結(jié)和梳理,只有不斷地去學習并運用,才能化為自己的東西。當你能為別人講明白的時候,說明自己已經(jīng)掌握了。

歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處!

如果有錯誤的地方,或者有您的見解,還請不嗇賜教!

喜歡的話,麻煩點個贊!

Java中的多線程(三)關于多線程管理的相關函數(shù)說明
Java中的多線程(二)線程的創(chuàng)建及線程的生命周期

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

相關閱讀更多精彩內(nèi)容

  • 又來到了一個老生常談的問題,應用層軟件開發(fā)的程序員要不要了解和深入學習操作系統(tǒng)呢? 今天就這個問題開始,來談談操...
    tangsl閱讀 4,332評論 0 23
  • 前言 多線程并發(fā)編程是Java編程中重要的一塊內(nèi)容,也是面試重點覆蓋區(qū)域,所以學好多線程并發(fā)編程對我們來說極其重要...
    嘟爺MD閱讀 7,423評論 21 272
  • 一、進程和線程 進程 進程就是一個執(zhí)行中的程序?qū)嵗?,每個進程都有自己獨立的一塊內(nèi)存空間,一個進程中可以有多個線程。...
    阿敏其人閱讀 2,713評論 0 13
  • 線程概述 線程與進程 進程 ?每個運行中的任務(通常是程序)就是一個進程。當一個程序進入內(nèi)存運行時,即變成了一個進...
    閩越布衣閱讀 1,107評論 1 7
  • 我是如何的人,我暫時不去下定義,或許這個“暫時”是一直,抑或較長時間。 因為“限制”的別名叫“定義”。 我不去定義...
    LeeKing閱讀 275評論 0 1

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