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