線程和進程的關係:每個行程都有對應的線程,在執行程式時,實際上是執行對應的一系列執行緒。行程是資源分配的最小單位,執行緒是程式執行的最小單位。
本文操作環境:windows10系統、thinkpad t480電腦。
執行緒和行程的關係是什麼?
根本區別:
進程是資源分配最小單位,執行緒是程式執行的最小單位。 電腦在執行程式時,會為程式建立對應的進程,進行資源分配時,是以進程為單位進行對應的分配。每個行程都有對應的線程,在執行程式時,實際上是執行對應的一系列線程。
位址空間:
進程有自己獨立的位址空間,每啟動一個進程,系統都會為其分配位址空間,建立資料表來維護程式碼段、堆疊段和資料段;執行緒沒有獨立的位址空間,同一行程的執行緒共享本進程的位址空間。
資源擁有:
進程之間的資源是獨立的;同一進程內的執行緒共享本進程的資源。
執行過程:
每個獨立的進程程都有一個程式運行的入口、順序執行序列和程式入口。但是執行緒不能獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。
執行緒是處理機調度的基本單位,但是進程不是。由於程式執行的過程其實是執行具體的線程,那麼處理機處理的也是程式對應的線程,所以處理機調度的基本單位就是線程。
系統開銷:
進程執行開銷大,執行緒執行開銷小。
(學習影片分享:程式設計影片)
以上是執行緒和行程的關係是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!