(1)一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程
(2)線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。
(3)進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,極大地提高了程序的運(yùn)行效率。
(4)線程在執(zhí)行過程中與進(jìn)程有區(qū)別。每個(gè)獨(dú)立的線程都有程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。
(5)從邏輯角度來看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒有將多個(gè)線程看作多個(gè)獨(dú)立的應(yīng)用來實(shí)現(xiàn)進(jìn)程的調(diào)度、管理和資源分配。這是進(jìn)程和線程的主要區(qū)別。