Python concurrent.futures模块的ProcessPoolExecutor, ThreadPoolExecutor类介绍
concurrent.futures
模块中的 ProcessPoolExecutor
和 ThreadPoolExecutor
类是用于实现并发编程的两种主要工具,它们分别基于进程和线程来执行任务。
ThreadPoolExecutor
类
简要介绍: ThreadPoolExecutor
是一个线程池实现,用于管理一组线程并分配任务给它们。它适合处理 I/O 密集型任务,例如从网络获取数据或读写文件。
主要方法:
-
submit(fn, *args, **kwargs)
:安排一个函数在池中的线程上执行,返回一个Future
对象,表示该任务的执行状态和结果。 -
map(func, *iterables, timeout=None, chunksize=1)
:将一个函数应用到多个输入上,并返回一个迭代器,产生函数的输出。 -
shutdown(wait=True)
:用于关闭线程池,不再接受新的任务。
示例:
from concurrent.futures import ThreadPoolExecutordef square(x):return x * xwith ThreadPoolExecutor(max_workers=4) as executor:results = list(executor.map(square, range(10)))