如果它没有达到我想要的效果,我将如何在5分钟后停止while循环.
while true:
test = 0
if test == 5:
break
test = test - 1
Run Code Online (Sandbox Code Playgroud)
这段代码让我陷入了无尽的循环.
我有这个装饰:
def timed_out(timeout):
def decorate(f):
if not hasattr(signal, "SIGALRM"):
return f
def handler(signum, frame):
raise TimedOutExc()
@functools.wraps(f)
def new_f(*args, **kwargs):
old = signal.signal(signal.SIGALRM, handler)
signal.alarm(timeout)
try:
result = f(*args, **kwargs)
finally:
signal.signal(signal.SIGALRM, old)
signal.alarm(0)
return result
new_f.func_name = f.func_name
return new_f
return decorate
Run Code Online (Sandbox Code Playgroud)
但代码只能在linux上执行任何操作,因为在Windows上,没有SIGALRM.在Windows中使用此代码的最简单方法是什么?