计时一个多处理函数



我需要设置一个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

我环顾网络,我发现了一个超时装饰,但它看起来相当棘手和冗长(我是新手在装饰)。我想要的是一件简单的事情。

编辑:

我想我把它写得太简单了。我的程序遍历上述函数并将结果存储在一个列表中,如下所示:

while(something):
     retval = function(some_list)  # here I need the time out thing
     # if function timed out then skip
     ris_list.append(retval)

您应该能够使用以下代码:

process.join(timeout)
if process.is_alive():
    process.terminate()

不需要在函数中设置超时,你可以用一个超时来连接进程,如果在超时之后进程还没有完成,那么就终止它。

相关内容

  • 没有找到相关文章