from concurrent.futures import ProcessPoolExecutor import math
defcpu_intensive_task(n): returnsum(math.sqrt(i) for i inrange(n))
# 创建包含4个进程的进程池 with ProcessPoolExecutor(max_workers=4) as executor: results = list(executor.map(cpu_intensive_task, [1000000]*4)) print("ProcessPoolExecutor结果:", [round(r, 2) for r in results])
import asyncio from concurrent.futures import ThreadPoolExecutor
asyncdefasync_task(n): # 在异步中使用线程池执行阻塞任务 loop = asyncio.get_event_loop() with ThreadPoolExecutor() as pool: result = await loop.run_in_executor(pool, lambda: n*2) return result
asyncdefmain(): tasks = [async_task(i) for i in [1,2,3]] results = await asyncio.gather(*tasks) print("Async结果:", results) # 输出: [2, 4, 6]