Python 多工 執行緒 day1

2022-08-21 23:24:14 字數 860 閱讀 1781

多工就是可以讓一台電腦同時執行多個命令。

以前的單核cpu是怎麼做到同時執行多個命令的?(時間片輪轉)

——其實以前的單核cpu是讓作業系統交替執行命令,每個任務執行0.01秒,這樣看起來就像是在同時執行多個命令。就跟手翻動畫一樣。

並行:真的多工

併發:假的多工

執行緒

乙個程式執行,一定有乙個執行**的東西,這個東西稱作 《執行緒》

就像游標一行一行的往下移動,執行每一行**

多個執行緒,就會出現多個游標,分為主線程和子執行緒

當主線程執行完所有**,就要等子執行緒,當子執行緒執行完,主線程才能結束。(幫子執行緒處理垃圾)

只有主線程結束,程式才結束。不是程式結束,主線程才結束。

t1 = threading.thread(target = sing)

應該把函式名sing給target,不能用sing(),sing()表示呼叫函式

t1.start()  表示建立子執行緒,

threading.enumerate()    用來獲取當前所有的執行緒,與以前的用法不同

執行緒的執行是沒有先後順序的,如果子執行緒沒有延時,很快就執行完,那麼當你呼叫時,獲得的列表只有主線程

在建立物件時 執行緒沒有建立

當呼叫 xx.start() 時執行緒才建立並開始執行

當呼叫的方法比較複雜時,可以把他封裝成類,start會自動呼叫run方法,然後在run裡面呼叫類裡面的其他方法

xx.start()只建立了乙個執行緒,執行 run()  如果裡面有其他方法,在run()呼叫

Python 多工(協程) day1

比執行緒所需的資源更少 可以用yield 實現多工,其實是併發,但速度很快,相當於同時進行 import time def test1 while true print 1 yield def test2 while true print 2 yield def main t1 test1 t2 t...

多工程式設計 程序和執行緒day1

多工 實現方式 匯入模組 import multiprocessing 建立乙個程序物件 a multiprocessing.process target 函式名 啟動建立好的程序 a.start 多執行緒 實現步驟 匯入模組 import threading 建立乙個程序物件 a threadin...

python多工 執行緒

併發 指的是任務數多餘cpu核數,通過作業系統的各種任務排程演算法,實現用多個任務 一起 執行 實際上總有一些任務不在執行,因為切換任務的速度相當快,看上去一起執行而已 並行 指的是任務數小於等於cpu核數,即任務真的是一起執行的 執行緒python的thread模組是比較底層的模組,python的...