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