在python中继承线程类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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方法? threading的Python文档提到“Thread类表示在单独的控制线程中运行的活动。有两种方法可以指定活动:通过将可调用对象传递给构造函数,或者通过重写run()方法在一个子类中。“

为什么上面的示例代码也会覆盖构造函数呢?

答案

重写构造函数以将num参数从创建MyThread实例的位置传递给run方法。

请注意,您不直接调用run方法,因此除非将它们存储在构造函数中,否则不能将任何参数传递给它。

如果您不需要传递参数,则只能覆盖run方法。

以上是关于在python中继承线程类的主要内容,如果未能解决你的问题,请参考以下文章

在python中继承私有变量[重复]

在 Python 中继承装饰函数?

在 Python 中继承 int

如何在 python 中继承类型提示?

Java中继承thread类与实现Runnable接口的区别

关于Python中继承的格式总结