簡體   English   中英

繼承python中的線程類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM