我有一个函数f:
def f(param):
return param**2
和参数列表p:
p = [1, 2092132192, 30912830921, 4102983092183]
(在我的实际代码中,f POST到p中指定的URL并返回响应)
我想同时在p中的所有项目上调用f并返回最快的结果并终止其他三个(或者许多仍在运行)进程。我该怎么做呢?
答案 0 :(得分:1)
使用这种方法:创建一个包装f()
的辅助函数,该函数不返回结果但将其放入队列中(可能另外返回它)。
现在启动正常/常规进程,但不要等待所有线程终止。相反,只需等待项目显示在队列中。如果你得到一个,你可以终止其他线程并返回。