CPU程序與執行緒的關係和區別

2022-03-26 01:01:53 字數 740 閱讀 1828

程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的乙個獨立單位。

執行緒是程序的乙個實體,是cpu排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位。

程序和執行緒的關係:

(1)乙個執行緒只能屬於乙個程序,而乙個程序可以有多個執行緒,但至少有乙個執行緒。

(2)資源分配給程序,同一程序的所有執行緒共享該程序的所有資源。

(3)處理機分給執行緒,即真正在處理機上執行的是執行緒。

(4)執行緒在執行過程中,需要協作同步。不同程序的執行緒間要利用訊息通訊的辦法實現同步。

程序與執行緒的區別:

(1)排程:執行緒作為排程和分配的基本單位,程序作為擁有資源的基本單位

(2)併發性:不僅程序之間可以併發執行,同乙個程序的多個執行緒之間也可併發執行

(3)擁有資源:程序是擁有資源的乙個獨立單位,執行緒不擁有系統資源,但可以訪問隸屬於程序的資源.

(4) 系統開銷:在建立或撤消程序時,由於系統都要為之分配和**資源,導致系統的開銷明顯大於建立或撤消執行緒時的開銷。但是程序有獨立的位址空間,乙個程序崩潰後,在保護模式下不會對其它程序產生影響,而執行緒只是乙個程序中的不同執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的位址空間,乙個程序死掉就等於所有的執行緒死掉,所以多程序的程式要比多執行緒的程式健壯,但在程序切換時,耗費資源較大,效率要差一些

結論:(1)執行緒是程序的一部分

(2)cpu排程的是執行緒

(3)系統為程序分配資源,不對執行緒分配資源

程序與執行緒的定義 關係及區別

程序與執行緒的定義 關係及區別 一 程序的定義 程序 指在系統中能獨立執行並作為資源分配的基本單位,它是由一組機器指令 資料和堆疊等組成的,是乙個能獨立執行的活動實體。程序一般有三個狀態 就緒狀態 執行狀態和等待狀態 或稱阻塞狀態 程序只能由父程序建立,系統中所有的程序形成一種程序樹的層次體系 掛起...

Linux系列 多程序 多執行緒與CPU的關係

對於多cpu,多個程序可以並行在多個cpu中計算,當然也會存在程序切換 對於單cpu,多個程序在這個單cpu中是併發執行,根據時間片讀取上下文 執行程式 儲存上下文。同乙個程序同一時間段只能在乙個cpu中執行,如果程序數小於cpu數,那麼未使用的cpu將會空閒。對於多核cpu,程序中的多執行緒並行執...

多執行緒和CPU的關係

什麼是cpu 1 central progressing unit 處理器,是一塊超大規模的積體電路,是一台計算機的運算核心和控制核心。2 cpu包括 運算器,高速緩衝儲存器,匯流排。3 它的工作,主要是解釋計算機中的指令,和處理計算機軟體中的資料。它在計算機中起著最重要的作用,構成了系統的控制中心...