程序和執行緒之間的關係

2022-07-08 18:12:14 字數 824 閱讀 2251

一、程序

1、程序:功能完整的程式在處理機上的執行過程

2、程序引入的目的:使多個程式併發執行,改善資源利用率、提高系統吞吐量

3、程序三個基本狀態:就緒態、執行態、等待態

4、程序的靜態描述由三部分組成:程序控制塊(pcb),有關程式段,資料結構集

5、在pcb中主要包含以下幾方面:

5.1、程序描述資訊:標識

5.3、資源資訊

5.4、cpu現場保護資訊(程序上下文)

6、程序的兩個基本屬性:

6.1、資源的擁有者:給每個程序分配一虛擬位址空間,儲存程序映像,控制一些資源(檔案、i/o裝置),有狀態、優先順序、排程

6.2、排程單位:程序是乙個執行軌跡

二、執行緒

1、執行緒:是程序內的乙個相對獨立的可排程的執行單元

2、執行緒引入的目的:減少程式併發執行時所付出的時間開銷

3、執行緒的特點

3.1、有執行狀態(狀態轉換)

3.2、不執行時儲存上下文

3.3、有乙個執行棧

3.4、有一些區域性變數的靜態儲存

3.5、可訪問所在程序的記憶體和其他資源

3.6、可以建立、撤銷另乙個執行緒

4、執行緒控制塊(tcb):包含了暫存器映像,執行緒優先數和執行緒狀態資訊

三、執行緒與程序的比較

1、排程

同一程序中的執行緒切換不引起程序的切換

2、併發性

同一程序內多個執行緒

3、擁有資源

執行緒自己不擁有系統資源,可以訪問其隸屬程序的資源

4、系統開銷

程序:分配、**資源(記憶體、i/o裝置)、切換(保護、恢復現場)

執行緒和程序之間的關係

一 程序 每個程式都會有程序負責管理程式功能的各個功能的進行,程序只有乙個,且至少會有乙個 二 執行緒 每個程序裡面至少有乙個執行緒,稱之為主線程,除此之外還會有其他的執行緒,稱之為分執行緒,執行緒是控制任務執行的祖先歐單位 二者之間的聯絡 程序負責各個執行緒的執行,當程式執行,程序啟動,程式關閉,...

Python程序和執行緒之間的關係

程序是由執行緒組成的 程序之間全域性變數不共享 執行緒之間資源共享 程序和執行緒的執行是無序的 程序和執行緒的執行是無序的 from multiprocessing import from time import from threading import def print info sleep ...

父程序,子程序,執行緒之間的關係

1 父子程序之間的關係 關於資源 子程序得到的是除了 段是與父程序共享的意外,其他所有的都是得到父程序的乙個副本,子程序的所有資源都繼承父程序,得到父程序資源的副本,既然為副本,也就是說,二者並不共享位址空間。兩個是單獨的程序,繼承了以後二者就沒有什麼關聯了,子程序單獨執行。採用寫時複製技術 關於檔...