Python中线程池怎样使用,如何引入线程池模块
Admin 2022-07-25 群英技术资讯 538 次浏览
引入
from concurrent.futures import ThreadPoolExecutor
一个简单的线程池使用案例
from concurrent.futures import ThreadPoolExecutor import time pool = ThreadPoolExecutor(10, 'Python') def fun(): time.sleep(1) print(1, end='') if __name__ == '__main__': # 列表推导式 [pool.submit(fun) for i in range(20) if True]
from concurrent.futures import ThreadPoolExecutor import time pool = ThreadPoolExecutor(10, 'Python') def fun(arg1,arg2): time.sleep(1) print(arg1, end=' ') print(arg2, end=' ') if __name__ == '__main__': # 列表推导式 [pool.submit(fun,i,i) for i in range(20) if True] # 单个线程的执行 task = pool.submit(fun,'Hello','world') # 判断任务执行状态 print(f'task status {task.done()}') time.sleep(4) print(f'task status {task.done()}') # 获取结果的函数是阻塞的,所以他会等线程结束之后才会输出 print(task.result())
阻塞等待
print(task.result())
批量获取结果
for future in as_completed(all_task): data = future.result()
阻塞主线程,等待执行结束再执行下一个业务
# 等待线程全部执行完毕 wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED) print('')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了nditer―numpy.ndarray 多维数组的迭代操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要为大家介绍一个Python中的模块:watchdog模块,它可以实现监控文件的变化。文中通过示例详细介绍了watchdog模块的使用,需要的可以参考一下
这篇文章主要介绍了Python高级文件操作之shutil库详解,文中有非常详细的代码示例,对正在学习python的小伙伴们有很大的帮助,需要的朋友可以参考下
这篇文章主要介绍了python 教程之blinker 信号库,文章基于python的相关资料展开详细的内容说明。具有一定的参考价价值,需要的小伙伴可以参考一下
这篇文章主要为大家介绍了Python操作HDF5文件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008