单个语句超时

时间:2019-03-26 15:39:40

标签: python python-3.x

如何对单个代码语句设置超时?我知道timeout_decorator会针对某个函数执行此操作,但是我只想知道python 3.6中的一行。

1 个答案:

答案 0 :(得分:0)

可以通过创建Process来完成。您可以使用多重处理库创建一个Process,然后使用该特定函数调用或语句的join设置超时。

例如

def test():
    print("Testing")

import multiprocessing
action_process=multiprocessing.Process(target=test)
action_process.start()
action_process.join(timeout=10)
process_timedout=action_process.is_alive()
action_process.terminate()

if process_timedout:
    print("Process Timedout")
else:
    print("Process executed successfully")