我正在尝试在我的脚本中实现一些基本的线程,我需要检查线程是否已经存在,我已经找到了如何设置名称但无法弄清楚如何使用名称的is_alive函数
class History(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
#do some stuff
for i in range(10):
t = History
t.setName("name%s"%i))
t().start()
我怎样才能检查线程名称5是否存活?
答案 0 :(得分:2)
is_alive
方法does not take any arguments。您没有按名称使用is_alive
。相反,只需致电t.is_alive()
检查线程t
是否还活着。
class History(threading.Thread):
def __init__(self,*args,**kwargs):
threading.Thread.__init__(self,*args,**kwargs)
def run(self):
#do some stuff
threads=[History(name="name%s"%i) for i in range(10)]
for t in threads:
t.start()
while threads[5].is_alive():
...
PS。文档说name attribute,
...是一个仅用于识别目的的字符串。它有没有 语义即可。 可以为多个线程指定相同的名称。
所以不要依赖这个名称作为明确的识别手段。