Python3 多线程使用concurrent.futures
Python 的标准函数“concurrent.futures”,提供了异步任务处理的功能,能够同时处理多个任务。
import concurrent.futures
要使用 concurrent.futures 必须先 import concurrent.futures 模块,或使用 from 的方式,单独 import 特定的类型。
import concurrent.futures
from concurrent.futures import ThreadPoolExecutor
ThreadPoolExecutor
ThreadPoolExecutor 会通过 Thread 的方式创建多个 Executors ( 执行器 ) ,执行并处理多个任务 ( tasks ), ThreadPoolExecutor 有四个参数,最常用的为 max_workers:
示例:
import time from concurrent.futures import ThreadPoolExecutor def test(n): for i in range(n): print(i, end=' ') time.sleep(0.2) with ThreadPoolExecutor() as executor: # 用 with...as,设置一个执行 Thread 的启动器 executor.submit(test, 2) # 启动第一个 test 函数 executor.submit(test ,3) # 启动第二个 test 函数 executor.submit(test, 4) # 启动第三个 test 函数 # 0 0 0 1 1 1 2 2 3