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

什么是進(jìn)程

進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位
有自己獨(dú)立的地址空間

進(jìn)程的組成部分:
①程序。作用:描述進(jìn)程要完成的功能。
②數(shù)據(jù)。作用:程序在執(zhí)行時(shí)所需要的數(shù)據(jù)和工作區(qū)。
③ PCB。作用:包含進(jìn)程的描述信息和控制信息。它是進(jìn)程存在的唯一標(biāo)志。 進(jìn)程控制塊

什么是線程

線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源.沒(méi)有自己獨(dú)立的地址空間

兩者區(qū)別

1.線程無(wú)自己獨(dú)立地址空間共享進(jìn)程的地址空間,進(jìn)程有
2.一個(gè)進(jìn)程死了不會(huì)對(duì)其他進(jìn)程產(chǎn)生影響,一個(gè)線程死了這個(gè)線程所在進(jìn)程也就死了。
3.線程是處理器調(diào)度的基本單位,但進(jìn)程不是.
4兩者都可以并發(fā)執(zhí)行

兩者優(yōu)缺點(diǎn)

線程執(zhí)行開(kāi)銷(xiāo)小,但不利于資源的管理和保護(hù);而進(jìn)程正相反。同時(shí),線程適合于在SMP機(jī)器上運(yùn)行,而進(jìn)程則可以跨機(jī)器遷移。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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