程序VS進(jìn)程VS線程

程序只是一組指令的有序集合栋荸,以文件的形式存儲(chǔ)在磁盤上何之。

進(jìn)程是資源(CPU跟畅、內(nèi)存等)分配的基本單位,它是程序執(zhí)行時(shí)的一個(gè)實(shí)例溶推。程序運(yùn)行時(shí)系統(tǒng)就會(huì)創(chuàng)建一個(gè)進(jìn)程徊件,并為它分配資源,然后把該進(jìn)程放入進(jìn)程就緒隊(duì)列蒜危,進(jìn)程調(diào)度器選中它的時(shí)候就會(huì)為它分配CPU時(shí)間虱痕,程序開始真正運(yùn)行。

線程是程序執(zhí)行時(shí)的最小單位辐赞,它是進(jìn)程的一個(gè)執(zhí)行流部翘,是CPU調(diào)度和分派的基本單位,一個(gè)進(jìn)程可以由很多個(gè)線程組成响委,線程間共享進(jìn)程的所有資源略就,每個(gè)線程有自己的堆棧和局部變量。線程由CPU獨(dú)立調(diào)度執(zhí)行晃酒,在多CPU環(huán)境下就允許多個(gè)線程同時(shí)運(yùn)行。同樣多線程也可以實(shí)現(xiàn)并發(fā)操作窄绒,每個(gè)請(qǐng)求分配一個(gè)線程來處理贝次。

線程和進(jìn)程各自有什么區(qū)別和優(yōu)劣呢?

進(jìn)程是資源分配的最小單位彰导,線程是程序執(zhí)行的最小單位蛔翅。

a.地址空間和其它資源:進(jìn)程有自己的獨(dú)立地址空間,每啟動(dòng)一個(gè)進(jìn)程位谋,系統(tǒng)就會(huì)為它分配地址空間山析,建立數(shù)據(jù)表來維護(hù)代碼段、堆棧段和數(shù)據(jù)段掏父,這種操作非常昂貴笋轨。而線程是共享進(jìn)程中的數(shù)據(jù)的,使用相同的地址空間,因此CPU切換一個(gè)線程的花費(fèi)遠(yuǎn)比進(jìn)程要小很多爵政,同時(shí)創(chuàng)建一個(gè)線程的開銷也比進(jìn)程要小很多仅讽。

b.通信:線程之間的通信更方便,同一進(jìn)程下的線程共享全局變量钾挟、靜態(tài)變量等數(shù)據(jù)洁灵,而進(jìn)程之間的通信需要以通信的方式(IPC)進(jìn)行。不過如何處理好同步與互斥是編寫多線程程序的難點(diǎn)掺出。

c.調(diào)度和切換:線程上下文切換比進(jìn)程上下文切換要快得多徽千。

d.健壯性:但是多進(jìn)程程序更健壯,多線程程序只要有一個(gè)線程死掉汤锨,整個(gè)進(jìn)程也死掉了双抽,而一個(gè)進(jìn)程死掉并不會(huì)對(duì)另外一個(gè)進(jìn)程造成影響,因?yàn)檫M(jìn)程有自己獨(dú)立的地址空間泥畅。

什么時(shí)候用進(jìn)程荠诬?什么時(shí)候用線程?

進(jìn)程與線程的選擇取決以下幾點(diǎn):

1位仁、需要頻繁創(chuàng)建銷毀的優(yōu)先使用線程柑贞;因?yàn)閷?duì)進(jìn)程來說創(chuàng)建和銷毀一個(gè)進(jìn)程代價(jià)是很大的。

2聂抢、線程的切換速度快钧嘶,所以在需要大量計(jì)算,切換頻繁時(shí)用線程琳疏,還有耗時(shí)的操作使用線程可提高應(yīng)用程序的響應(yīng)

3有决、因?yàn)閷?duì)CPU系統(tǒng)的效率使用上線程更占優(yōu),所以可能要發(fā)展到多機(jī)分布的用進(jìn)程空盼,多核分布用線程书幕;

4、并行操作時(shí)使用線程揽趾,如C/S架構(gòu)的服務(wù)器端并發(fā)線程響應(yīng)用戶的請(qǐng)求台汇;

5、需要更穩(wěn)定安全時(shí)篱瞎,適合選擇進(jìn)程苟呐;需要速度時(shí),選擇線程更好俐筋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末牵素,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子澄者,更是在濱河造成了極大的恐慌笆呆,老刑警劉巖请琳,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異腰奋,居然都是意外死亡单起,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門劣坊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘀倒,“玉大人,你說我怎么就攤上這事局冰〔饽ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵康二,是天一觀的道長(zhǎng)碳胳。 經(jīng)常有香客問我,道長(zhǎng)沫勿,這世上最難降的妖魔是什么挨约? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮产雹,結(jié)果婚禮上诫惭,老公的妹妹穿的比我還像新娘。我一直安慰自己蔓挖,他們只是感情好夕土,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘟判,像睡著了一般怨绣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拷获,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天篮撑,我揣著相機(jī)與錄音,去河邊找鬼匆瓜。 笑死咽扇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的陕壹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼树埠,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼糠馆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怎憋,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤又碌,失蹤者是張志新(化名)和其女友劉穎九昧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毕匀,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铸鹰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了皂岔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹋笼。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖躁垛,靈堂內(nèi)的尸體忽然破棺而出剖毯,到底是詐尸還是另有隱情,我是刑警寧澤教馆,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布逊谋,位于F島的核電站,受9級(jí)特大地震影響土铺,放射性物質(zhì)發(fā)生泄漏胶滋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一悲敷、第九天 我趴在偏房一處隱蔽的房頂上張望究恤。 院中可真熱鬧,春花似錦镀迂、人聲如沸丁溅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窟赏。三九已至,卻和暖如春箱季,著一層夾襖步出監(jiān)牢的瞬間涯穷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工藏雏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拷况,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓掘殴,卻偏偏與公主長(zhǎng)得像赚瘦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奏寨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容