線程和進程的區別 主要有以下方面

來源:時尚少女範 2.88W
線程和進程的區別 主要有以下方面

1、根本區別

2、地址空間

3、資源擁有

4、執行過程

5、線程是處理機調度的基本單位,但是進程不是

6、系統開銷

方法/步驟

線程和進程的區別 主要有以下方面 第2張
1

根本區別:進程是資源分配最小單位,線程是程序執行的最小單位。 計算機在執行程序時,會為程序創建相應的進程,進行資源分配時,是以進程為單位進行相應的分配。每個進程都有相應的線程,在執行程序時,實際上是執行相應的一系列線程。

2

地址空間:進程有自己獨立的地址空間,每啟動一個進程,系統都會為其分配地址空間,建立數據表來維護代碼段、堆棧段和數據段;線程沒有獨立的地址空間,同一進程的線程共享本進程的地址空間。

3

資源擁有:進程之間的資源是獨立的;同一進程內的線程共享本進程的資源。

4

執行過程:每個獨立的進程程有一個程序運行的入口、順序執行序列和程序入口。但是線程不能獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。

5

線程是處理機調度的基本單位,但是進程不是。由於程序執行的過程其實是執行具體的線程,那麼處理機處理的也是程序相應的線程,所以處理機調度的基本單位是線程。

6

系統開銷:進程執行開銷大,線程執行開銷小。

熱門標籤