[英]Inherit thread class in python
我對繼承線程類有一些疑問。
class MyThread(threading.Thread):
def __init__(self, num):
threading.Thread.__init__(self)
self.num = num
def run(self):
print("Thread", self.num)
time.sleep(1)
為什么不能只覆蓋run方法? Python的線程文檔提到: “ Thread類表示在單獨的控件線程中運行的活動。有兩種方法指定活動:通過將可調用對象傳遞給構造函數,或通過覆蓋run()方法在一個子類中。”
為什么上面的示例代碼也會覆蓋構造函數?
重寫構造函數以將num
參數從創建MyThread
實例的位置傳遞到run
方法。
請注意,您不會直接調用run
方法,因此除非將它們存儲在構造函數中,否則無法將任何參數傳遞給該方法。
如果不需要傳遞參數,則可以僅覆蓋run
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.