Skip to main content
 首页 » 编程设计

Python 多处理之当最快的进程终止时返回

2025年05月04日13xxx_UU

我有一个函数 f:

def f(param): 
    return param**2 

和参数列表p:

p = [1, 2092132192, 30912830921, 4102983092183] 

(在我的实际代码中,f POST 到 p 中指定的 URL 并返回响应)

我想同时对 p 中的所有项目调用 f 并返回最快的结果并终止其他三个(或许多仍在运行的)进程。我该怎么做呢?

请您参考如下方法:

使用这种方法:创建一个包装 f() 并且不返回结果但将其放入队列(可能另外返回)的辅助函数。

现在开始正常/通常的进程,但不要等待所有线程终止。相反,只需等待一个项目显示在队列中。如果你得到一个,你可以终止其他线程并返回。