目錄計算機的核心是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 安全特性 因此程序是不活潑的,它從...