我有一个调用函数的循环,该函数有时会挂起(如下例所示).我找到了一个关于如何限制函数调用的执行时间的coupleexamples.然而,它们在循环情况下失败,因为当中断信号发生时,我们可能正在进行下一个循环.有没有办法限制下面代码的执行时间?
def perhaps_long_exec():
if random.random() < 0.5:
while True:
pass
for i in range(100)
# limit execution time of below function call
perhaps_long_exec()
我们假设perhaps_long_exec()
是一个不能修改的外部函数.我刚才给出了一个示例函数,说明该函数内部可能包含什么内容,但该函数本身是一个黑盒.