from concurrent.futures import ThreadPoolExecutor
import time
# 定义一个简单的函数,模拟任务执行
def task(n):
print(f"Task {n} is running")
time.sleep(2) # 模拟任务耗时
return f"Task {n} completed"
# 使用 ThreadPoolExecutor 创建一个线程池
def main():
with ThreadPoolExecutor(max_workers=3) as executor:
# 提交多个任务到线程池
futures = [executor.submit(task, i) for i in range(5)]
# 获取任务的结果
for future in futures:
print(future.result())
if __name__ == "__main__":
main()
concurrent.futures 模块,用于管理线程池。它简化了多线程编程中的线程管理。n,打印任务信息并休眠 2 秒以模拟耗时操作,最后返回任务完成的信息。Future 对象,表示异步执行的任务。Future 对象的结果,如果任务还没有完成,则会阻塞直到任务完成。这段代码展示了如何使用 ThreadPoolExecutor 来并发执行多个任务,并等待所有任务完成后再获取结果。
上一篇:python dic
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站