python語言中threading.Thread類的使用方法


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) 
設置線程名。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM