執行緒與程序的區別

2022-08-11 20:15:17 字數 688 閱讀 4118

1. 定義:

程序:  執行中一段程式,  一旦程式被載入到記憶體中並準備執行 他就是乙個程序

程序是資源分配的基本概念 排程執行的基本單位  系統中的併發執行的單位

執行緒: 單個程序中執行的每個任務就是乙個執行緒,執行緒是程序中執行運算的最小單位

程序裡可以有多個執行緒

1. 執行緒是輕量級的程序 與程序相比  執行緒給作業系統帶來建立、維護、和管理的負擔要輕 意味著執行緒的代價或開銷比較小

2. 執行緒沒有位址空間  執行緒包含在程序的位址空間中 執行緒上下文只包含乙個堆疊、乙個暫存器、乙個優先權,

3. 執行緒文字包含在他的程序的文字片段中, 程序擁有的所有資源都屬於執行緒 

4. 所有執行緒共享程序的資源與記憶體  (常量, 全域性變數與靜態變數,擴充套件段(堆儲存))

5. 每個執行緒有自己的棧段  暫存器的內容  棧段又叫執行時段 存所有區域性變數與臨時變數

6. 父與子程序使用程序間通訊機制 同一程序的執行緒通過讀取寫入資料到程序變數通訊

7. 執行緒的級別是相同的 程序內的任何執行緒都可以銷毀、掛起、恢復和更改其它執行緒的優先權,程序中任何執行緒都可以銷毀程序,銷毀主線程將導致該程序的銷毀,對主線程的修改可能影響所有的執行緒。

8. 子程序不能控制其它程序

程序和執行緒都有id/暫存器組、狀態和優先權、資訊塊,建立後都可更改自己的屬性,都可與父程序共享資源、都不能直接訪問其他無關程序或執行緒的資源。

執行緒與程序的區別

原文 程序 process 和執行緒 thread 是作業系統的基本概念,但是它們比較抽象,不容易掌握。最近,我讀到一篇材料,發現有乙個很好的模擬,可以把它們解釋地清晰易懂 1 計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。2 假定工廠的電力有限,一次只能供給乙個車間使用...

程序與執行緒的區別

首先來一句概括的總論 程序和執行緒都是乙個時間段的描述,是cpu工作時間段的描述。乙個最最基礎的事實 cpu太快,太快,太快了,暫存器僅僅能夠追的上他的腳步,ram和別的掛在各匯流排上的裝置完全是望其項背。那當多個任務要執行的時候怎麼辦呢?輪流著來?或者誰優先順序高誰來?不管怎麼樣的策略,一句話就是...

程序與執行緒的區別

首先來一句概括的總論 程序和執行緒都是乙個時間段的描述,是cpu工作時間段的描述。下面細說背景 cpu ram 各種資源 比如顯示卡,光碟機,鍵盤,gps,等等外設 構成我們的電腦,但是電腦的執行,實際就是cpu和相關暫存器以及ram之間的事情。乙個最最基礎的事實 cpu太快,太快,太快了,暫存器僅...