進(jìn)程和線程的區(qū)別撒会?什么時(shí)候用進(jìn)程?什么時(shí)候用線程师妙?

我的理解是進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序诵肛;程序一旦運(yùn)行就是進(jìn)程,或者更專業(yè)化來(lái)說(shuō):進(jìn)程是指程序執(zhí)行時(shí)的一個(gè)實(shí)例默穴。

線程是進(jìn)程的一個(gè)實(shí)體怔檩。

進(jìn)程——資源分配的最小單位,線程——程序執(zhí)行的最小單位蓄诽。

線程進(jìn)程的區(qū)別體現(xiàn)在幾個(gè)方面:

第一:因?yàn)檫M(jìn)程擁有獨(dú)立的堆椦ρ担空間和數(shù)據(jù)段,所以每當(dāng)啟動(dòng)一個(gè)新的進(jìn)程必須分配給它獨(dú)立的地址空間若专,建立眾多的數(shù)據(jù)表來(lái)維護(hù)它的代碼段许蓖、堆棧段和數(shù)據(jù)段蝴猪,這對(duì)于多進(jìn)程來(lái)說(shuō)十分“奢侈”调衰,系統(tǒng)開(kāi)銷比較大,而線程不一樣自阱,線程擁有獨(dú)立的堆椇坷颍空間,但是共享數(shù)據(jù)段沛豌,它們彼此之間使用相同的地址空間趋箩,共享大部分?jǐn)?shù)據(jù),比進(jìn)程更節(jié)儉加派,開(kāi)銷比較小叫确,切換速度也比進(jìn)程快,效率高芍锦,但是正由于進(jìn)程之間獨(dú)立的特點(diǎn)竹勉,使得進(jìn)程安全性比較高,也因?yàn)檫M(jìn)程有獨(dú)立的地址空間娄琉,一個(gè)進(jìn)程崩潰后次乓,在保護(hù)模式下不會(huì)對(duì)其它進(jìn)程產(chǎn)生影響吓歇,而線程只是一個(gè)進(jìn)程中的不同執(zhí)行路徑。一個(gè)線程死掉就等于整個(gè)進(jìn)程死掉票腰。

第二:體現(xiàn)在通信機(jī)制上面城看,正因?yàn)檫M(jìn)程之間互不干擾,相互獨(dú)立杏慰,進(jìn)程的通信機(jī)制相對(duì)很復(fù)雜测柠,譬如管道,信號(hào)缘滥,消息隊(duì)列鹃愤,共享內(nèi)存,套接字等通信機(jī)制完域,而線程由于共享數(shù)據(jù)段所以通信機(jī)制很方便软吐。。

3.屬于同一個(gè)進(jìn)程的所有線程共享該進(jìn)程的所有資源吟税,包括文件描述符凹耙。而不同過(guò)的進(jìn)程相互獨(dú)立。

4.線程又稱為輕量級(jí)進(jìn)程肠仪,進(jìn)程有進(jìn)程控制塊肖抱,線程有線程控制塊;

5.線程必定也只能屬于一個(gè)進(jìn)程异旧,而進(jìn)程可以擁有多個(gè)線程而且至少擁有一個(gè)線程意述;

第四:體現(xiàn)在程序結(jié)構(gòu)上,舉一個(gè)簡(jiǎn)明易懂的列子:當(dāng)我們使用進(jìn)程的時(shí)候吮蛹,我們不自主的使用if else嵌套來(lái)判斷pid荤崇,使得程序結(jié)構(gòu)繁瑣,但是當(dāng)我們使用線程的時(shí)候潮针,基本上可以甩掉它术荤,當(dāng)然程序內(nèi)部執(zhí)行功能單元需要使用的時(shí)候還是要使用,所以線程對(duì)程序結(jié)構(gòu)的改善有很大幫助每篷。

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

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

進(jìn)程有自己的獨(dú)立地址空間子库,每啟動(dòng)一個(gè)進(jìn)程,系統(tǒng)就會(huì)為它分配地址空間矗晃,建立數(shù)據(jù)表來(lái)維護(hù)代碼段仑嗅、堆棧段和數(shù)據(jù)段,這種操作非常昂貴。而線程是共享進(jìn)程中的數(shù)據(jù)的无畔,使用相同的地址空間啊楚,因此CPU切換一個(gè)線程的花費(fèi)遠(yuǎn)比進(jìn)程要小很多,同時(shí)創(chuàng)建一個(gè)線程的開(kāi)銷也比進(jìn)程要小很多浑彰。

線程之間的通信更方便恭理,同一進(jìn)程下的線程共享全局變量、靜態(tài)變量等數(shù)據(jù)郭变,而進(jìn)程之間的通信需要以通信的方式(IPC)進(jìn)行颜价。不過(guò)如何處理好同步與互斥是編寫(xiě)多線程程序的難點(diǎn)。

但是多進(jìn)程程序更健壯诉濒,多線程程序只要有一個(gè)線程死掉周伦,整個(gè)進(jìn)程也死掉了,而一個(gè)進(jìn)程死掉并不會(huì)對(duì)另外一個(gè)進(jìn)程造成影響未荒,因?yàn)檫M(jìn)程有自己獨(dú)立的地址空間专挪。

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

1、需要頻繁創(chuàng)建銷毀的優(yōu)先使用線程片排;因?yàn)閷?duì)進(jìn)程來(lái)說(shuō)創(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閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異帅涂,居然都是意外死亡议薪,警方通過(guò)查閱死者的電腦和手機(jī)尤蛮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)斯议,“玉大人产捞,你說(shuō)我怎么就攤上這事『哂” “怎么了坯临?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)恋昼。 經(jīng)常有香客問(wèn)我看靠,道長(zhǎng),這世上最難降的妖魔是什么液肌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任挟炬,我火速辦了婚禮,結(jié)果婚禮上嗦哆,老公的妹妹穿的比我還像新娘辟宗。我一直安慰自己,他們只是感情好吝秕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布泊脐。 她就那樣靜靜地躺著,像睡著了一般烁峭。 火紅的嫁衣襯著肌膚如雪容客。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天约郁,我揣著相機(jī)與錄音缩挑,去河邊找鬼。 笑死鬓梅,一個(gè)胖子當(dāng)著我的面吹牛供置,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绽快,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼芥丧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了坊罢?” 一聲冷哼從身側(cè)響起续担,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎活孩,沒(méi)想到半個(gè)月后物遇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年询兴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乃沙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诗舰,死狀恐怖警儒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情始衅,我是刑警寧澤冷蚂,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站汛闸,受9級(jí)特大地震影響蝙茶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诸老,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一隆夯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧别伏,春花似錦蹄衷、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至类茂,卻和暖如春耍属,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背巩检。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工厚骗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兢哭。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓领舰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親迟螺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子冲秽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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