什么是進(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ī)器遷移。