PYTHON——多線程:從Thread類繼承
阿新 • • 發佈:2018-11-01
通過 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類繼承