對於作業系統來說,乙個任務就是乙個程序(process),比如開啟乙個瀏覽器就是乙個程序,開啟兩個記事本就是兩個程序;那麼什麼是執行緒呢?我們發現,有些程序不止能做一件事,比如乙個word程序可以同時進行打字,拼寫檢查,列印等事情,也就是乙個程序可能要同時執行多個「子任務」,程序內的這些子任務就稱為執行緒(thread)。
由於每個程序至少要幹一件事,所以乙個程序至少有乙個執行緒。
那麼作業系統中程序和執行緒如何實現的呢?
現在,多核cpu已經非常普及了,但是過去的單核cpu也可以執行多工,它的執行方式是作業系統輪流讓各個任務交替執行,例如任務1執行0.01秒後切換到任務2,執行0.01秒後再切換到下乙個任務。表面上看每個任務都是交替執行的,但cpu的執行速度非常快,讓我們感覺就像所有任務在同時執行一樣。真正的並行執行多工只能在多核cpu上實現,但由於任務數量遠遠多於cpu的核心數量,所以每個核心也會執行多個任務。
我們編寫的python程式都是執行單任務的程序,也就是只有乙個執行緒。如果要同時執行多個任務,有三種模式:多程序模式,多執行緒模式,多程序+多執行緒模式(實際中很少採用)。
python筆記 程序和執行緒 多執行緒
一 建立乙個多程序 啟動乙個執行緒就是把乙個函式傳入並建立thread例項,然後呼叫start 開始執行 1.1 及執行結果 如以上 所示,threading.current thread 返回程序例項,用threading.current thread name返回例項名稱,主線程例項的名字叫ma...
python學習筆記 程序和執行緒
對於作業系統來說,乙個任務就是乙個程序 process 比如開啟乙個瀏覽器就是啟動乙個瀏覽器程序,開啟乙個記事本就啟動了乙個記事本程序,開啟兩個記事本就啟動了兩個記事本程序,開啟乙個word就啟動了乙個word程序。有些程序還不止同時幹一件事,比如word,它可以同時進行打字 拼寫檢查 列印等事情。...
Python 執行緒和程序
一 什麼是執行緒 1 執行緒是作業系統能夠進行運算排程的最小單位。它被包含在程序中,是程序中的實際運作單位。一條執行緒指的是程序中乙個單一順序的控制流,乙個程序中可以併發多個執行緒,每條執行緒並行執行不同的任務。每個程序至少包含乙個執行緒.二 什麼是程序 1 乙個程序就是乙個程式的例項,每個程序裡面...