concurrent.futures模块简单介绍(线程池,进程池)
一、基类Executor Executor类是ThreadPoolExecutor 和ProcessPoolExecutor 的基类。它为我们提供了如下方法: submit(fn, *args, **kwargs):提交任务。以 fn(*args **kwargs) 方式执行并返回 Future 对像。 fn:函数地址。 *args:位置参数。 **kwargs:关键字参数。 map(func, *iterables, timeout=None, chunksize=1): func:函数地址。 iterables:一个可迭代对象,以迭代的方式将参数传递给函数。 timeout:这个参数没弄明白,如果是None等待所有进程结束。 chunksize:使用 ProcessPoolExecutor 时,这个方法会将 iterables 分割任务块,并作为独立的任务提交到执行池中。这些块的数量可以由 chunksize 指定设置。 对很长的迭代器来说,设置chunksize 值比默认值 1 能显著地提高性能。 chunksize 对 ThreadPoolExecutor 没有效果。 shutdown(wait=True):如果为True会等待线程池或进程池执行完成后释放正在使用的资源。如果 wait 为 False,将立即返回,所有待执行的期程完成执行后会释放已分配的资源。 不管