python - 当其中一个进程完成使用 concurrent.futures 时,如何杀死所有进程?
问题描述
当其中任何一个完成时,我需要杀死所有进程。这是我的代码:
with concurrent.futures.ProcessPoolExecutor() as executor:
db_datas = [[skins, stickers, proxies_list] for skins in skins_arrays]
results = [executor.submit(wrapper, db_data) for db_data in db_datas]
concurrent.futures.wait(results, timeout=10, return_when=concurrent.futures.FIRST_COMPLETED)
for f in concurrent.futures.as_completed(results):
f_success = f.result()
print(f_success)
我试着用它做,wait
但它不起作用。
解决方案
我目前没有任何测试方法,但我认为这就足够了:
with concurrent.futures.ProcessPoolExecutor() as executor:
db_datas = [[skins, stickers, proxies_list] for skins in skins_arrays]
results = [executor.submit(wrapper, db_data) for db_data in db_datas]
concurrent.futures.wait(results, timeout=10, return_when=concurrent.futures.FIRST_COMPLETED)
for f in concurrent.futures.as_completed(results):
f_success = f.result()
if f_success:
executor.shutdown(wait=False, cancel_futures=True)
应该不需要额外运行一次结果。
推荐阅读
- javascript - 如何在具有相同标签或类的对象中单独管理状态
- swift - 在 Touch 上移动 SKSpriteNode 以创建 Button 效果
- angular - Identity Server 生产时的空 cookie
- assembly - 为什么 x86 16 位寻址模式没有比例因子,而 32 位版本有呢?
- java - 使用了 Maven 排除但仍在加载依赖项
- keras - Keras categorical_entropy 输出形状未知?
- r - 基于索引向量的向量重复值
- javascript - 如何在cheerio中获得div的孩子
- javascript - 如果输入值小于建立的最小值,如何替换输入值?
- package - 尝试在 Windows 2012R2 和 Windows 2008 Server 上获取所有已安装的软件包