Python多執行緒threading用法

Python裡面經常會用到多執行緒,即所有的方法在同一時間開始運行,而不是按順序一個一

個運行。所用到的模組為threading,下面詳解threading用法。

  • 我們寫三個方法,one、two、three並正常運行。

這裡只截圖了one()方法,two、three與one內容一樣。

按下面圖中的運行方式,三個函數是分別在不同時間運行的。

  • 我們用threading使三個方法在同一時間運行

定義一個執行緒池並把要運行的執行緒都寫到這個執行緒池列表裡:

threads= [] #定義一個執行緒池 t1 = threading.Thread(target=one,args=(,)) #建立一個執行緒並且賦給t1,這個執行緒指定調用方法one,並且不帶參數 threads.append(t1)#把t1執行緒裝到threads執行緒池裡 t2 = threading.Thread(target=two) threads.append(t2) t3 = threading.Thread(target=three) threads.append(t3)

這時threads這個列表中就有三個執行緒裝在裡面了。

下面就是運行這個執行緒池裡面的執行緒

for t in threads:      t.setDaemon(True)#聲明t為守護執行緒,設置的話,子執行緒將和主執行緒一起運行,並且直接結束,不會再執行循環裡面的子執行緒      t.start()  t.join()#作用是執行完所有子執行緒才去執行主執行緒

用一個for語句遍歷threads里的執行緒,然後調用start()方法運行

注意t.join()必須放在for語句外面。

  • 運行結果為在同一時間啟動的

是不是很快就明白threading的用法了呢?