是否有一种方法可以中断执行方法并在超时的情况下重复执行方法?
例如连接到某个服务器的方法connection
try:
connection(server,5)
except:
repeat
假设方法连接运行时间超过5秒。然后我想提出异常,重复一遍。不需要例外,我只想重复一下。
我正在考虑创建第二个线程,该线程检查时间,当时间耗尽时,提供另一个线程中的方法中断,但我认为应该有一个更简单的解决方案。
你可以使用线程。
代码:import threading
success = False
def connect():
global success
connection(server,5)
success = True
th = threading.Thread(target=connect)
th.start()
time.sleep(5) #timeout 5 sec
if success:
yuhuuu
else:
th.stop() #kill task