1. 編程語言里面的任務和線程是很重要的一個功能。在python里面,線程的創建有兩種方式,其一使用Thread類創建
# 導入Python標准庫中的Thread模塊 from threading import Thread # 創建一個線程 mthread = threading.Thread(target=function_name, args=(function_parameter1, function_parameterN)) # 啟動剛剛創建的線程 mthread .start()
function_name: 需要線程去執行的方法名
args: 線程執行方法接收的參數,該屬性是一個元組,如果只有一個參數也需要在末尾加逗號。
2. 重新寫一個類,繼承threading.Thread
import threading, time class MyThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): global n, lock time.sleep(1) if lock.acquire(): print n , self.name n += 1 lock.release() if "__main__" == __name__: n = 1 ThreadList = [] lock = threading.Lock() for i in range(1, 200): t = MyThread() ThreadList.append(t) for t in ThreadList: t.start() for t in ThreadList: t.join()
重寫了父類threading.Thread的run()方法,其他方法(除了構造函數)都不應在子類中被重寫。使用線程的時候生成一個子線程類的對象,然后對象調用start()方法就可以運行線程。
4. 線程等待,我們的主線程不會等待子線程執行完畢再結束自身。可以使用Thread類的join()方法來子線程執行完畢以后,主線程再關閉。
t.join()
5. isAlive()方法測試線程是否是活動的,返回線程名。
setName(name)
設置線程名