子类化threading.Thread:为什么仅重写__init __()和run()?

时间:2018-07-22 13:38:12

标签: python multithreading

为什么Python的线程库的documentation如此强烈地坚持只覆盖__init__()run()

在此处查看粗体部分:

  

此类表示在单独的线程中运行的活动   控制。有两种指定活动的方法:通过传递一个   构造函数的可调用对象,或通过覆盖run()   子类中的方法。 没有其他方法(构造函数除外)   应该在子类中重写。换句话说,仅覆盖   此类的__init__()run()方法。

Thread类本身没有太多的方法。因此,我假设它可以归结为startjoin作为覆盖(nameidentisAlivedaemon我猜-我可能错了!)所以,例如,答案可以举一个例子,说明当这两个中的任何一个被覆盖时,会发生什么(并且出错了?!)。

1 个答案:

答案 0 :(得分:0)

该类的作者可以决定什么是公共API。此类并非旨在重写其他方法。