gpt4 book ai didi

python - 并发.futures:确定哪个 future 返回

转载 作者:行者123 更新时间:2023-12-01 04:41:06 24 4
gpt4 key购买 nike

我最近正在处理并发.futures,我在一个执行器中提交了多个函数,我想知道哪个 future 首先返回。

with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:
future_action = executor.submit(func_action, data)
future_monitor = executor.submit(func_monitor)

现在是主要部分,我想知道 future_monitor 何时结束,以便我终止所有其他操作 future。

我在文档中发现了以下内容( https://docs.python.org/dev/library/concurrent.futures.html#concurrent.futures.as_completed ):

concurrent.futures.wait(fs, timeout=None, return_when=ALL_COMPLETED)

,所以我可以等待 return_when=FIRST_COMPLETED ,但是我如何确保它确实是监视器的 future 。

提前发送!

最佳答案

根据the documentation ,方法 wait 返回两个集合:donenot_done futures。

检查您要检查的 future 是否在done集中。

fs = future_action, future_monitor
done, not_done = concurrent.futures.wait(fs, timeout=None, return_when=FIRST_COMPLETED)
if future_monitor in done:
# Do something

关于python - 并发.futures:确定哪个 future 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30692166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com