程序與執行緒的區別與聯絡

2021-08-16 01:34:15 字數 381 閱讀 9819

程序:資源分配的基本單位,也是排程執行的基本單位

執行緒:程序中執行執行的最小單位,執行緒是作業系統可識別的最小執行和排程單位

兩者的關係:

1. 乙個執行緒只能屬於乙個程序,而乙個程序可以有多個執行緒

2. 程序是資源分配的基本單位。同一程序中的所有執行緒共享該程序的資源包括:**段(**和常量), 資料段(全域性及靜態區),擴充套件段(堆儲存)。但每個執行緒有自己的棧段(用於存放區域性變數)。

3. 生成乙個執行緒(linux下執行pthread_create)的效率要快於生成乙個程序(linux下執行fork),執行緒也稱為微程序

4. 真正在處理機上執行的是執行緒,執行緒是系統排程的最小單位

5. 多執行緒程式設計涉及執行緒同步(也涉及執行緒通訊),多程序程式設計涉及程序通訊

程序與執行緒的區別與聯絡

程序,是併發執行的程式在執行過程中分配和管理資源的基本單位,是乙個動態概念,竟爭計算機系統資源的基本單位。每乙個程序都有乙個自己的位址空間,即程序空間或 虛空間 程序空間的大小 只與處理機的位數有關,乙個 16 位長處理機的程序空間大小為 216 而 32 位處理機的程序空間大小為 232 程序至少...

執行緒與程序的聯絡與區別

程序是乙個動態概念,表示程式在乙個資料集合上的一次動態執行過程。程序包含正在執行的乙個程式的所有狀態資訊 程序可以動態建立和結束,多個程序可以併發執行,不同程序間互不影響 作業系統實現 同時程序間又相互制約,它們因訪問共享資料 資源或程序間同步而產生制約。程式是靜態的,它是檔案。程序是動態的,是執行...

程序與執行緒的區別聯絡

自 對於執行緒,程序的概念一直都是比較模糊,最近整理了一下。總結起來就是,執行緒是程序的一部分,程序是程式的一部分。這個說法不準確,但是可以指出期間的差別 程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的乙個獨立單位.執行緒是程序的乙個實體,是cpu排程和...