程序與執行緒

2022-06-12 04:36:12 字數 1292 閱讀 1535

目錄計算機的核心是cpu,cpu承擔了所有的計算任務

乙個cpu核心一次只能執行乙個任務,多個cpu核心可以同時執行多個任務

乙個cpu一次只能執行乙個程序,其他程序處於非執行狀態

程序中包含的執行單元叫執行緒,乙個程序可以包含多個執行緒。

乙個執行緒中記憶體空間是共享的,每個程序裡的執行緒都可以使用這個共享空間,乙個執行緒在使用這個共享空間的時候,其他執行緒必須等它結束。

通過「鎖」實現,作用就是防止多個執行緒使用這個記憶體空間,先使用的執行緒會將空間上鎖,其他執行緒就在門口等待,開啟鎖再進去。

程序:表示程式的一次執行

執行緒:cpu運算的基本排程單位

gil:全域性直譯器鎖,python裡面的通行證,而且只有乙個,拿到通行證的執行緒才可以執行。

python的多執行緒試用範圍:大量密集的i/o處理

python的多程序:大量的密集平行計算

執行緒的概念

(1)程序內的乙個執行單元

(2)作業系統中乙個可排程的實體

(3)程序中相對獨立的乙個控制流序列

(4)執行時的現場資料和其他排程所需的資訊。

再論main函式

(1)c/c++程式被執行後從main函式開始執行。

(2)其執行過程:

(3)執行緒是程序使用cpu資源的基本單位。

深入理解程序和執行緒

(1)程序中可以存在多個執行緒並行執行,共享程序資源

(2)執行緒是被排程的執行單元,而程序不是排程單元。

(3)執行緒不能脫離程序單獨存在,只能依賴於程序執行。

(4)執行緒有生命期,有誕生和死亡。

(5)任意執行緒都可以建立其它新的執行緒。

小結

(1)程式是物理儲存空間中的資料檔案

(2)程序程式執行後得到的執行實體

(3)執行緒是程序內部的具體執行單元

(4)乙個程序內部可以有多個執行緒存在

(5)程序是作業系統資源分配的基本單位

(6)執行緒是作業系統排程執行的基本單位

程序與執行緒

程序 process 管理單元,管理分配應用程式的資料,的記憶體空間.執行緒 thread 執行單元,執行緒負責執行乙個預先編排好的 段,執行 棧是基於執行緒的.乙個應用程式啟動的時候,程序自動建立,並且會預設建立主線程,主線程負責執行main 方法.thread t new thread new ...

程序與執行緒

程序 是擁有資源的實體,包括 1。乙個程序有乙個虛擬位址空間,不同程序位於不同的 虛擬位址空間中。程序之間若要通訊,必須通過作業系統 的功能呼叫 ipc 2。程序擁有其他資源,例如開啟的檔案和i o裝置。程序結束時,作業系統會自動釋放該程序擁有的所有資源。例如,如果 open乙個檔案而不close它...

程序與執行緒

程序包括 1 私有的虛位址空間 2 可執行程式 與資料 3 開啟系統資源列表控制代碼 4 安全訪問標誌 5 程序id 6 至少有乙個執行執行緒 執行緒包括 1 一組cpu暫存器狀態 2 兩個堆疊 系統態與使用者態 3 tls 執行緒區域性儲存區 4 執行緒id 5 安全特性 因此程序是不活潑的,它從...