设置运行函数Python的时间限制

2024-04-24 16:15:14 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在编写一个函数,其中包含一些限制条件下的随机样本。在最后一步中,可能没有可选择的有效条件,我的功能将被卡住

有没有办法设置此函数的运行时间限制?假设在2秒钟后,如果没有返回结果,它将再次运行函数,直到在2秒钟内返回结果。 提前谢谢


Tags: 函数功能时间条件办法秒钟
1条回答
网友
1楼 · 发布于 2024-04-24 16:15:14

您可以使用threading模块

以下代码是具有超时的线程的示例:

from threading import Thread

p = Thread(target = myFunc, args = [myArg1, myArg2])
p.start()
p.join(timeout = 2)

您可以在代码中添加以下内容,作为检查,以保持循环,直到函数正确结束:

shouldFinish = False
def myFunc(myArg1, myArg2):
    ...
    if finishedProperly:
        shouldFinish = True

while shouldFinish == False:
    p = Thread(target = myFunc, args = [myArg1, myArg2])
    p.start()
    p.join(timeout = 2)

相关问题 更多 >