猿问

有没有办法在Python中执行固定持续时间的函数?

我想知道有没有一种方法可以在Python中执行固定持续时间的函数?


我想它可以使用装饰器来实现,例如:


def terminate_if_runs_too_long(func):

    def new_func(*args, **kwargs):

        with <lock which is valid for fixed duration>:

            return func(*args, **kwargs)

    return new_func


@terminate_if_runs_too_long

def infinite_loop():

    '''Imported function, which cannot be modified'''

    while True:

        pass

但是,我不确定如何实现在固定持续时间内可用的资源/锁,并且一旦超过使用持续时间就会引发异常。


我正在寻找一种可以使用单线程的解决方案。


慕尼黑5688855
浏览 86回答 1
1回答

繁花如伊

如果您无法控制该功能,那么通常没有安全的方法来执行此操作。原因之一是该函数可能正在修改某些内容,杀死它可能会使该内容处于不良状态。
随时随地看视频慕课网APP

相关分类

Python
我要回答