共计 618 个字符,预计需要花费 2 分钟才能阅读完成。
from multiprocessing import Process | |
from time import sleep | |
def f(time): | |
sleep(time) | |
def run_with_limited_time(func, args, kwargs, time): | |
"""Runs a function with time limit | |
:param func: The function to run 调用办法 | |
:param args: The functions args, given as tuple 办法传参 | |
:param kwargs: The functions keywords, given as dict | |
:param time: The time limit in seconds 设置的限度工夫 | |
:return: True if the function ended successfully. False if it was terminated. | |
""" | |
p = Process(target=func, args=args, kwargs=kwargs) | |
p.start() | |
p.join(time) | |
if p.is_alive(): | |
p.terminate() | |
return False | |
return True | |
if __name__ == '__main__': | |
print(run_with_limited_time(f, (1.5,), {}, 2.5)) # True | |
print(run_with_limited_time(f, (3.5,), {}, 2.5)) # False |
正文完