我需要在python函数上设置一个时间限制,它使用一些多处理的东西(我不知道它是否重要).像这样的东西:
function(a_list):
p1 = Process(a_list[0:len(a_list/2)])
p2 = Process(a_list[len(a_list)/2: len(a_list)])
//start and join p1, p2
Run Code Online (Sandbox Code Playgroud)
我环顾网络,我找到了一个超时装饰,但它看起来相当棘手和冗长(我是装饰员的新手).我想要的只是一件简单的事情.
编辑:
我想我太简单了.我的程序遍历上面的函数并将结果存储在如下列表中:
while(something):
retval = function(some_list) # here I need the time out thing
# if function timed out then skip
ris_list.append(retval)
Run Code Online (Sandbox Code Playgroud) 假设我有这个示例代码:
x = foo1(something1)
y = foo2(something2)
z = max(x, y)
Run Code Online (Sandbox Code Playgroud)
我想通过使用线程来改善此代码的执行时间(希望它有帮助不是吗?).我想让事情尽可能简单,所以基本上我想做的是创建两个同时工作的线程,分别计算foo1和foo2.
我正在阅读有关线程的内容,但我发现它有点棘手,我不能因为做这么简单的事情而浪费太多时间.