程序與執行緒以及它們之間的區別

2021-09-25 20:12:54 字數 651 閱讀 9072

1.它們是什麼

從某個意義上來講,程序就是乙個應用程式在處理機上的一次執行過程,它是乙個動態的概念,有自己的儲存空間,而執行緒是程序中的某個單一順序的控制流,程序包含至少乙個執行緒。

2.程序的特性2>動態性:程序與程式的區別在於,程式是靜態的,程序是動態的。程式只是乙個靜態的指令集合,而程序是乙個正在系統中執行的指令集合。有了時間的概念,如生命週期;

3>併發性:程序之間,交替著執行。

3.執行緒的優勢

1>程序之間不能共享記憶體,但是單執行緒之間共享記憶體很簡單;

2>系統在建立程序時要為它分配資源空間,但是建立執行緒的代價比較小,所以建立多執行緒實現併發比建立多程序實現併發效率要好;

4.區別

1>程序占用記憶體空間,同乙個程序中的不同執行緒共享程序中的記憶體;

2>程序之間是隔離的,同乙個程序中的執行緒之間可以共享資源;

3>關閉程序,相應的執行緒會關閉,反之不一定;

4>執行緒又叫輕程序,乙個程序中至少包含乙個執行緒。

總結

1>乙個程序至少包含乙個執行緒,執行緒是程序的組成部分;

2>執行緒可以實現資源的共享,人為的控制程式的執行。

程序與執行緒之間的區別

程序是併發執行的程式在執行過程中分配和管理資源的基本單位,是乙個動態的概念。每個程序都有自己的位址空間 程序空間 程序空間的大小與處理機位數有關。程序至少有5種基本狀態 初始態,執行態,等待狀態,就緒狀態,終止狀態。在多使用者環境下,乙個伺服器通常需要接受大量的不學定數量使用者的併發請求,而為每乙個...

執行緒與程序之間的聯絡和區別

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

程式 程序 執行緒之間的區別與聯絡

程式 實現了功能,就是程式,是靜態的 程序 執行中的程式就是程序,是動態的 執行緒 程序內的乙個執行單元,也是程序內的可排程實體,可以併發執行提高了程序的效率。1 乙個執行緒只能屬於乙個程序,而乙個程序可以有多個執行緒,但至少有乙個執行緒。2 資源分配給程序,同一程序的所有執行緒共享該程序的所有資源...