from concurrent.futures import ThreadPoolExecutor, as_completed
# 创建一个线程池,最大线程数为3
executor = ThreadPoolExecutor(max_workers=3)
# 定义一个简单的任务函数
def task(n):
import time
time.sleep(1) # 模拟耗时操作
return f"Task {n} completed"
# 提交多个任务到线程池中
futures = [executor.submit(task, i) for i in range(5)]
# 异步获取任务结果
for future in as_completed(futures):
print(future.result())
# 关闭线程池
executor.shutdown()
concurrent.futures 模块中的一个类,用于创建和管理线程池。通过指定 max_workers 参数来设置线程池的最大线程数。n 并返回一个字符串表示任务完成。submit 方法会立即返回一个 Future 对象,代表这个任务的执行状态。Future 对象。Future 对象的结果。如果任务还没有完成,result() 会阻塞直到任务完成。这段代码展示了如何使用 Python 的线程池来进行异步任务处理,并且可以并行执行多个任务以提高效率。
下一篇:python倒序输出列表
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站