進(jìn)程和線程的區(qū)別

1、線程的基本概念
概念
線程是進(jìn)程中執(zhí)行運(yùn)算的最小單位,是進(jìn)程中的一個(gè)實(shí)體铛楣,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源艺普,只擁有一點(diǎn)在運(yùn)行中必不可少的資源簸州,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源。一個(gè)線程可以創(chuàng)建和撤消另一個(gè)線程歧譬,同一進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行岸浑。


好處
(1)易于調(diào)度。

(2)提高并發(fā)性瑰步。通過線程可方便有效地實(shí)現(xiàn)并發(fā)性矢洲。進(jìn)程可創(chuàng)建多個(gè)線程來執(zhí)行同一程序的不同部分。

(3)開銷少缩焦。創(chuàng)建線程比創(chuàng)建進(jìn)程要快兵钮,所需開銷很少

2、進(jìn)程的基本狀態(tài)及狀態(tài)之間的關(guān)系
狀態(tài):運(yùn)行舌界、阻塞掘譬、掛起阻塞、就緒呻拌、掛起就緒

狀態(tài)之間的轉(zhuǎn)換:

(1)準(zhǔn)備就緒的進(jìn)程葱轩,被CPU調(diào)度執(zhí)行,變成運(yùn)行態(tài)藐握;

(2)運(yùn)行中的進(jìn)程靴拱,進(jìn)行I/O請求或者不能得到所請求的資源,變成阻塞態(tài)猾普;

(3)運(yùn)行中的進(jìn)程袜炕,進(jìn)程執(zhí)行完畢(或時(shí)間片已到),變成就緒態(tài)初家;

(4)將阻塞態(tài)的進(jìn)程掛起偎窘,變成掛起阻塞態(tài)乌助,當(dāng)導(dǎo)致進(jìn)程阻塞的I/O操作在用戶重啟進(jìn)程前完成(稱之為喚醒),掛起阻塞態(tài)變成掛起就緒態(tài)陌知,當(dāng)用戶在I/O操作結(jié)束之前重啟進(jìn)程他托,掛起阻塞態(tài)變成阻塞態(tài);

(5)將就緒(或運(yùn)行)中的進(jìn)程掛起仆葡,變成掛起就緒態(tài)赏参,當(dāng)該進(jìn)程恢復(fù)之后,掛起就緒態(tài)變成就緒態(tài);

3沿盅、線程和進(jìn)程的關(guān)系以及區(qū)別把篓?
** 進(jìn)程和線程的關(guān)系:**

(1)一個(gè)線程只能屬于一個(gè)進(jìn)程,而一個(gè)進(jìn)程可以有多個(gè)線程腰涧,但至少有一個(gè)線程韧掩。

(2)資源分配給進(jìn)程,同一進(jìn)程的所有線程共享該進(jìn)程的所有資源南窗。

(3)處理機(jī)分給線程揍很,即真正在處理機(jī)上運(yùn)行的是線程

(4)線程在執(zhí)行過程中,需要協(xié)作同步万伤。不同進(jìn)程的線程間要利用消息通信的辦法實(shí)現(xiàn)同步窒悔。線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體.

進(jìn)程與線程的區(qū)別:

(1)調(diào)度:線程作為調(diào)度和分配的基本單位,進(jìn)程作為擁有資源的基本單位

(2)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行敌买,同一個(gè)進(jìn)程的多個(gè)線程之間也可并發(fā)執(zhí)行

(3)擁有資源:進(jìn)程是擁有資源的一個(gè)獨(dú)立單位简珠,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進(jìn)程的資源.

(4)系統(tǒng)開銷:在創(chuàng)建或撤消進(jìn)程時(shí)虹钮,由于系統(tǒng)都要為之分配和回收資源聋庵,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤消線程時(shí)的開銷。

4芙粱、進(jìn)程間通信的方式祭玉?
(1)管道(pipe)及有名管道(named pipe):管道可用于具有親緣關(guān)系的父子進(jìn)程間的通信,有名管道除了具有管道所具有的功能外春畔,它還允許無親緣關(guān)系進(jìn)程間的通信脱货。

(2)信號(signal):信號是在軟件層次上對中斷機(jī)制的一種模擬,它是比較復(fù)雜的通信方式律姨,用于通知進(jìn)程有某事件發(fā)生振峻,一個(gè)進(jìn)程收到一個(gè)信號與處理器收到一個(gè)中斷請求效果上可以說是一致的。

(3)消息隊(duì)列(message queue):消息隊(duì)列是消息的鏈接表择份,它克服了上兩種通信方式中信號量有限的缺點(diǎn)扣孟,具有寫權(quán)限得進(jìn)程可以按照一定得規(guī)則向消息隊(duì)列中添加新信息;對消息隊(duì)列有讀權(quán)限得進(jìn)程則可以從消息隊(duì)列中讀取信息荣赶。

(4)共享內(nèi)存(shared memory):可以說這是最有用的進(jìn)程間通信方式凤价。它使得多個(gè)進(jìn)程可以訪問同一塊內(nèi)存空間鸽斟,不同進(jìn)程可以及時(shí)看到對方進(jìn)程中對共享內(nèi)存中數(shù)據(jù)得更新。這種方式需要依靠某種同步操作料仗,如互斥鎖和信號量等湾盗。

(5)信號量(semaphore):主要作為進(jìn)程之間及同一種進(jìn)程的不同線程之間得同步和互斥手段伏蚊。

(6)套接字(socket):這是一種更為一般得進(jìn)程間通信機(jī)制立轧,它可用于網(wǎng)絡(luò)中不同機(jī)器之間的進(jìn)程間通信,應(yīng)用非常廣泛躏吊。

5氛改、同步和互斥的區(qū)別:
當(dāng)有多個(gè)線程的時(shí)候,經(jīng)常需要去同步這些線程以訪問同一個(gè)數(shù)據(jù)或資源比伏。例如胜卤,假設(shè)有一個(gè)程序,其中一個(gè)線程用于把文件讀到內(nèi)存赁项,而另一個(gè)線程用于統(tǒng)計(jì)文件中的字符數(shù)葛躏。當(dāng)然,在把整個(gè)文件調(diào)入內(nèi)存之前悠菜,統(tǒng)計(jì)它的計(jì)數(shù)是沒有意義的舰攒。但是,由于每個(gè)操作都有自己的線程悔醋,操作系統(tǒng)會(huì)把兩個(gè)線程當(dāng)作是互不相干的任務(wù)分別執(zhí)行摩窃,這樣就可能在沒有把整個(gè)文件裝入內(nèi)存時(shí)統(tǒng)計(jì)字?jǐn)?shù)。為解決此問題芬骄,你必須使兩個(gè)線程同步工作猾愿。

所謂同步,是指散步在不同進(jìn)程之間的若干程序片斷账阻,它們的運(yùn)行必須嚴(yán)格按照規(guī)定的某種先后次序來運(yùn)行蒂秘,這種先后次序依賴于要完成的特定的任務(wù)。如果用對資源的訪問來定義的話淘太,同步是指在互斥的基礎(chǔ)上(大多數(shù)情況)姻僧,通過其它機(jī)制實(shí)現(xiàn)訪問者對資源的有序訪問。在大多數(shù)情況下琴儿,同步已經(jīng)實(shí)現(xiàn)了互斥段化,特別是所有寫入資源的情況必定是互斥的。少數(shù)情況是指可以允許多個(gè)訪問者同時(shí)訪問資源造成。

所謂互斥显熏,是指散布在不同進(jìn)程之間的若干程序片斷,當(dāng)某個(gè)進(jìn)程運(yùn)行其中一個(gè)程序片段時(shí)晒屎,其它進(jìn)程就不能運(yùn)行它們之中的任一程序片段喘蟆,只能等到該進(jìn)程運(yùn)行完這個(gè)程序片段后才可以運(yùn)行缓升。如果用對資源的訪問來定義的話,互斥某一資源同時(shí)只允許一個(gè)訪問者對其進(jìn)行訪問蕴轨,具有唯一性和排它性港谊。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的橙弱。

參加:https://www.cnblogs.com/microfan/p/5294250.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末歧寺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子棘脐,更是在濱河造成了極大的恐慌斜筐,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛀缝,死亡現(xiàn)場離奇詭異顷链,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)屈梁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門嗤练,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人在讶,你說我怎么就攤上這事煞抬。” “怎么了真朗?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵此疹,是天一觀的道長。 經(jīng)常有香客問我遮婶,道長蝗碎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任旗扑,我火速辦了婚禮蹦骑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘臀防。我一直安慰自己眠菇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布袱衷。 她就那樣靜靜地躺著捎废,像睡著了一般。 火紅的嫁衣襯著肌膚如雪致燥。 梳的紋絲不亂的頭發(fā)上登疗,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼辐益。 笑死断傲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的智政。 我是一名探鬼主播认罩,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼续捂!你這毒婦竟也來了垦垂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤疾忍,失蹤者是張志新(化名)和其女友劉穎乔外,沒想到半個(gè)月后床三,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體一罩,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年撇簿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了聂渊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欢顷。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡祠挫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出问潭,到底是詐尸還是另有隱情找蜜,我是刑警寧澤饼暑,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站洗做,受9級特大地震影響弓叛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诚纸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一撰筷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畦徘,春花似錦毕籽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杯缺,卻和暖如春蒸播,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夺谁。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工廉赔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肉微,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓蜡塌,卻偏偏與公主長得像碉纳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子馏艾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

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

  • 進(jìn)程和線程 進(jìn)程線程的區(qū)別1劳曹、進(jìn)程是什么?是具有一定獨(dú)立功能的程序琅摩、它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位铁孵,重點(diǎn)...
    HeartGo閱讀 1,193評論 0 4
  • 進(jìn)程與線程的區(qū)別: 1. 速度轰异。線程產(chǎn)生的速度快岖沛,通訊快,切換快搭独,因?yàn)樗麄兲幱谕坏刂房臻g婴削。 2. 線程的資源利用...
    小七_(dá)8d72閱讀 4,744評論 0 4
  • 又來到了一個(gè)老生常談的問題,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢牙肝? 今天就這個(gè)問題開始唉俗,來談?wù)劜?..
    tangsl閱讀 4,088評論 0 23
  • 世界與你同在, 我卻站在世界中心 你死了配椭, 世界便不復(fù)存在虫溜, 我也會(huì)煙消云散 你活著, 我卻永遠(yuǎn)都走不進(jìn)你的心
    G阿蘇閱讀 225評論 1 0
  • In the daytime, a cheetah is chasing a lump in the Africa...
    李端端閱讀 207評論 0 0