1. 程式人生 > >PYTHON——多線程:從Thread類繼承

PYTHON——多線程:從Thread類繼承

通過 nbsp lee int 函數調用 實例 art from class

從Thread類繼承

  通過繼承Thread來實現多線程可以提高對線程任務的個性化定制,具體實現如下:

實例代碼:

# 從Thread類繼承
import threading
from time import sleep,ctime

# 線程類,從Thread類繼承而來。
class MyThread(threading.Thread):
    # 重寫父類的構造方法,其中,func是線程函數,args是傳入線程函數的參數,name是線程名稱
    def __init__(self,func,args,name=‘‘):
        # 使用super函數調用父類的構造方法,並傳入相應的參數值。
super().__init__(target = func,name=name,args=args) # 重寫父類的run方法 def run(self): self._target(*self._args) # 線程函數 def fun(index,sec): print(開始執行{},時間:{}.format(index,ctime())) # 休眠sec秒 sleep(sec) print(執行完畢{},時間:{}.format(index,ctime())) def fun2(a,b,c):
print(2開始執行,時間:{}.format(ctime())) # 休眠sec秒 sleep(a+b+c) print(a+b+c) print(2執行完畢,時間:{}.format(ctime())) def main(): print(開始:,ctime()) # 創建第一個線程,並制定線程名稱為“線程1” thread1 = MyThread(fun,(10,4),線程1) thread2 = MyThread(fun2,(4,6,2),線程2) thread1.start() thread2.start()
print(thread1.name) print(thread2.name) thread1.join() thread2.join() print(結束:,ctime()) if __name__ == __main__: main()

PYTHON——多線程:從Thread類繼承