程序和執行緒的比較

2021-10-10 16:27:24 字數 698 閱讀 2095

排程:

執行緒是cpu排程和分派的基本單位。

擁有資源:

程序是系統中程式執行和資源分配的基本單位。

執行緒自己一般不擁有資源(除了必不可少的程式計數器,一組暫存器和棧),但它可以去訪問qi其所屬組的資源,如程序**段,資料段以及系統資源(已開啟的檔案,i\o裝置等)。

系統開銷:同一程序中的多個執行緒可共享同一位址空間,因此他們之間的的同步和通訊的實現也變得比較容易。

在程序切換的時候,涉及到整個當前程序cpu環境的儲存以及新北排程執行的程序的cpu環境的設定;而執行緒切換只需要儲存和設定少量暫存器的內容,並不涉及儲存器管理方面的操作,從而能更有效地使用系統資源和提高系統的吞吐量。

併發性:

不僅程序間可以併發執行,而且在乙個程序中的多個執行緒之間也可以併發執行。

總結:

1、一般把執行緒稱之為輕量級的程序

2、乙個程序可以建立多個執行緒,多個執行緒共享乙個程序的資源。

3、每乙個程序建立的時候系統會給其4g虛擬記憶體,3g使用者空間是私有的,所以程序切換時使用者空間也會切換,所以會增加系統開銷,而乙個程序中的多個執行緒共享乙個程序的資源,所以執行緒切換時不用切換這些資源,效率會更高

4、執行緒的排程機制跟程序是一樣的,多個執行緒來回切換執行

執行緒和程序的比較

乙個程式就是乙個程序,而乙個程式中的多個任務則被稱為執行緒。程序是表示資源分配的基本單位,又是排程執行的基本單位。執行緒是程序中執行運算的最小單位,亦即執行處理機排程的基本單位。程序和執行緒的關係 1 乙個執行緒只能屬於乙個程序,而乙個程序可以有多個執行緒,但至少有乙個執行緒。執行緒是作業系統可識別...

執行緒程序比較

主程序結束後,子程序會結束不再執行,可以呼叫join 穿件執行緒和程序差不多 執行緒需要開啟,可以阻塞 import threading,time def t fun 子執行緒入口函式 print time.sleep 1 def time check fun p 統計時間的裝飾函式 def fun...

程序與執行緒的比較

程序 是資源分配的基本單位。所有與該程序有關的資源,都被記錄在程序控制塊pcb中。程序 處理機的排程單位,擁有完整的虛擬位址空間。當程序發生排程時,不同的程序擁有不同的虛擬位址空間,而同一程序內的不同執行緒共享同一位址空間。聯絡 1 執行緒與資源分配無關,屬於某乙個程序,並與其他執行緒共享程序資源。...