我使用一个重复的python计时器线程,并希望给它一个名字。目前,python为每个新线程提供名称Thread-<number>
,并在每个新计时器启动时递增该数字。我希望这个名字保持不变。基本的Thread
类支持命名Timer
s,但是不支持:
class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}, *,
daemon=None)
注意 name=None
属性,Timer
中不存在。
class threading.Timer(interval, function, args=None, kwargs=None)
关于如何给Timer
命名的任何想法?我想我可以派生出我自己的Timer
类并添加name
,但我不认为python解释器会把它作为线程的名字来选择......
答案 0 :(得分:3)
Timers
是Thread
子类,它们具有名称,因此您可以通过仅为其分配值{{1}来为创建之后的分配自定义名称} property - 所以name
构造函数不接受允许这个的参数并不重要。
如果你这么做了,你可以编写一个相对简单的实用函数,自动为你做这个(除了派生你自己的Timer
子类,它与实际代码的行数相同):
NamedTimer(_Timer)
答案 1 :(得分:0)
我查找了相同的信息并登陆了这里。我发现这样做的一种方法是:
timer = Timer(interval, function)
timer.setName('AnyTimerName')