【发布时间】:2020-11-21 18:46:59
【问题描述】:
我有一个任务要做:
def task(body):
# some logic that which can throw an exception
# if something goes wrong
do_task(body)
而且这个任务里面的逻辑可以抛出异常
我有执行器的执行方法:
def execute():
executor = ThreadPoolExecutor(max_workers=4)
future1 = executor.submit(task, body1)
future2 = executor.submit(task, body2)
future3 = executor.submit(task, body3)
future4 = executor.submit(task, body4)
result1 = future1.result()
result2 = future2.result()
result3 = future3.result()
result4 = future4.result()
如果至少有一项任务崩溃,我希望 - 不要等待其他任务完成并停止一切。我怎样才能正确地做到这一点?
【问题讨论】:
标签: python python-3.x python-multiprocessing python-multithreading