Python多线程池的使用方法

   2024-09-30 8410
核心提示:Python的concurrent.futures库提供了ThreadPoolExecutor类,它是一个高效的线程池实现导入所需模块:import concurrent.futures

Python的concurrent.futures库提供了ThreadPoolExecutor类,它是一个高效的线程池实现

导入所需模块:
import concurrent.futures
定义一个函数,该函数将在线程池中运行:
def my_function(x):    # 在这里执行你的任务    return x * x
创建一个ThreadPoolExecutor实例,并指定线程池中的最大线程数。然后,使用submit()方法将任务添加到线程池中:
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:    # 提交任务并将Future对象存储在列表中    futures = [executor.submit(my_function, i) for i in range(10)]
使用as_completed()方法迭代已完成的任务,并获取结果:
for future in concurrent.futures.as_completed(futures):    result = future.result()    print(result)

下面是一个完整的示例:

import concurrent.futuresdef my_function(x):    return x * xwith concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:    futures = [executor.submit(my_function, i) for i in range(10)]for future in concurrent.futures.as_completed(futures):    result = future.result()    print(result)

这个示例将创建一个包含5个线程的线程池,并将10个任务提交给线程池。每个任务都会计算一个数字的平方。当任务完成时,它们的结果将按照完成顺序打印出来。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号