from concurrent.futures import ThreadPoolExecutor
import time
# 定义一个简单的任务函数
def task(n):
print(f"Task {n} is starting")
time.sleep(2) # 模拟任务执行时间
print(f"Task {n} is finished")
return n * n
# 使用线程池执行多个任务
def main():
# 创建一个包含4个线程的线程池
with ThreadPoolExecutor(max_workers=4) as executor:
# 提交多个任务到线程池
futures = [executor.submit(task, i) for i in range(5)]
# 获取任务的结果
for future in futures:
result = future.result() # 阻塞直到任务完成并获取结果
print(f"Task returned: {result}")
if __name__ == "__main__":
main()
concurrent.futures 模块中的一个类,用于管理线程池。它简化了多线程编程的过程。time.sleep),并在完成后返回一个计算结果。executor.submit 方法提交,返回一个 Future 对象。这个例子展示了如何使用 Python 的线程池来并发执行多个任务,并收集它们的结果。
下一篇:python3 字典
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站