【发布时间】:2016-06-13 04:15:24
【问题描述】:
我一直在使用 concurrent.futures,因为它有一个简单的界面,让用户可以轻松控制最大线程/进程数。但是,concurrent.futures 似乎隐藏了失败的任务并在所有任务完成/失败后继续主线程。
import concurrent.futures
def f(i):
return (i + 's')
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
fs = [executor.submit(f, i ) for i in range(10)]
concurrent.futures.wait(fs)
对任何整数调用 f 都会导致 TypeError。但是,整个脚本运行良好并以代码 0 退出。有没有办法让它在任何线程失败时抛出异常/错误?
或者,有没有更好的方法来限制线程/进程的数量而不使用 concurrent.futures?
【问题讨论】:
标签: python multithreading multiprocessing python-multithreading concurrent.futures