为什么Python的线程库的documentation如此强烈地坚持只覆盖__init__()
和run()
?
在此处查看粗体部分:
此类表示在单独的线程中运行的活动 控制。有两种指定活动的方法:通过传递一个 构造函数的可调用对象,或通过覆盖
run()
子类中的方法。 没有其他方法(构造函数除外) 应该在子类中重写。换句话说,仅覆盖 此类的__init__()
和run()
方法。
Thread类本身没有太多的方法。因此,我假设它可以归结为start
或join
作为覆盖(name
,ident
,isAlive
和daemon
我猜-我可能错了!)所以,例如,答案可以举一个例子,说明当这两个中的任何一个被覆盖时,会发生什么(并且出错了?!)。
答案 0 :(得分:0)
该类的作者可以决定什么是公共API。此类并非旨在重写其他方法。