[Python]异步concurrent.futures并发
'''
concurrent.futures 模块提供异步执行可调用对象高层接口,使用线程池 ThreadPoolExecutor 或
进程池 ProcessPoolExecutor 来实现异步。目的是保证服务稳定运行的前提下提供最大的并发能力。
'''
from concurrent.futures import Future
from concurrent.futures import ThreadPoolExecutor
import time
def task(a, b):
time.sleep(2)
return a + b
def callback(f: Future):
print(f.result())
pool = ThreadPoolExecutor(5)
print("开始了")
for i in range(5):
# 生成一个线程池,大小为5
pool.submit(task, i, i).add_done_callback(callback) # 异步执行,绑定回调函数获取结果
print("结束了")
'''
开始了
结束了
0
8
6
4
2
'''