在python中继承线程类
我有一些关于继承线程类的问题在python中继承线程类,python,multithreading,python-multithreading,Python,Multithreading,Python Multithreading,我有一些关于继承线程类的问题 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类表示在单独的控制线程中运行的活动。有
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
方法。重写构造函数,将num
参数从创建MyThread
实例的位置传递到run
方法
请注意,您不直接调用run
方法,所以除非将任何参数存储在构造函数中,否则无法向其传递任何参数
如果不需要传递参数,则只能重写
run
方法。您发布的代码的来源是什么?因为您通常需要以某种方式将数据传递到run()
?通过构造函数和类字段显式执行是最简单的方法。您发布的代码的来源是什么?因为您通常需要以某种方式将数据传递到run()
?而通过构造函数和类字段显式地实现这一点是最简单的方法。