我是python编程的新手,如果这个问题很愚蠢,对不起...
我编写了一个脚本,每5秒检查2台服务器的状态,并通过以下方式调用该函数:
while1 :
f1 = threading.Thread(target=func1)
f1.start()
f2 = threading.Thread(target=func2)
f2.start()
time.sleep(5)
这样,一切正常:2个线程同时开始,并以不同的持续时间结束,但始终在5秒以内。 如果以前的运行(总是f1)没有完成,我想避免其中一个线程(例如f1)再次启动。这可能吗? 谢谢
答案 0 :(得分:0)
尝试在线查看线程功能。我设法找到了.is_alive()
,看起来像是您所追求的。
例如;
f1 = None
f2 = None
while1 :
#If f1 is not a thread or it is not an active thread...
if (f1 == None or not f1.is_alive()):
f1 = threading.Thread(target=func1)
f1.start()
f2 = threading.Thread(target=func2)
f2.start()
time.sleep(5)