進(jìn)程:
一個(gè)程序?qū)σ粋€(gè)數(shù)據(jù)集的動(dòng)態(tài)執(zhí)行過(guò)程,是分配資源的基本單位。
線程:
一個(gè)進(jìn)程內(nèi)CPU獨(dú)立運(yùn)行和調(diào)度的基本單位德崭。
一個(gè)程序至少有一個(gè)進(jìn)程,進(jìn)程是必要的一個(gè)單位,線程是執(zhí)行任務(wù)的最小單位, 一個(gè)進(jìn)程包含一個(gè)或者更多的線程.
進(jìn)程是指運(yùn)行中的應(yīng)用程序,每一個(gè)進(jìn)程都有自己獨(dú)立的內(nèi)存空間。一個(gè)應(yīng)用程序可以同時(shí)啟動(dòng)多個(gè)進(jìn)程厦取。
例如:
對(duì)于IE瀏覽器程序赖淤,每打開(kāi)一個(gè)IE瀏覽器窗口蘸拔,就啟動(dòng)了一個(gè)新的進(jìn)程师郑。
線程是指進(jìn)程中的一個(gè)執(zhí)行流程,有時(shí)也稱為執(zhí)行情景调窍。
一個(gè)進(jìn)程可以由多個(gè)線程組成宝冕,即在一個(gè)進(jìn)程中可以同時(shí)運(yùn)行多個(gè)不同的線程,它們分別執(zhí)行不同的任務(wù)邓萨。當(dāng)進(jìn)程內(nèi)的多個(gè)線程同時(shí)運(yùn)行時(shí)地梨,這種運(yùn)行方式稱為并發(fā)運(yùn)行。許多服務(wù)器程序缔恳,如數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器宝剖,都支持并發(fā)運(yùn)行,這些服務(wù)器能同時(shí)響應(yīng)來(lái)自不同客戶的請(qǐng)求歉甚。
進(jìn)程和線程的主要區(qū)別在于:
每個(gè)進(jìn)程都需要操作系統(tǒng)為其分配獨(dú)立的內(nèi)存地址空間万细,而同一進(jìn)程中的所有線程在同一塊地址空間中工作,這些線程可以共享同一塊內(nèi)存和系統(tǒng)資源纸泄,比如共享一個(gè)對(duì)象或者共享已經(jīng)打開(kāi)的一個(gè)文件赖钞。