Python中线程池怎样使用,如何引入线程池模块
Admin 2022-07-25 群英技术资讯 1087 次浏览
这篇文章主要讲解了“Python中线程池怎样使用,如何引入线程池模块”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。引入
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文主要介绍了OpenCV中Canny边缘检测的实现,边缘检测一般是识别目标图像中亮度变化明显的像素点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
相信大家对进度条一定不陌生了,很多安装或者下载都会出现进度条,本文主要介绍了Python实现实时显示进度条的6种方法,具有一定的参考价值,感兴趣的可以了解一下
这篇文章主要介绍python中polars库的使用,相比Pandas库,polars库具有更快数据处理速度,因此分享给大家做个参考,希望大家阅读完这篇文章能有所收获,下面我们一起了解看看。
python的is和in有啥不同?很多新手学习python,对于is和in的区别不是很清楚,对此,下面小编就给大家简单的介绍一下python的is和in的区别以及用法,感兴趣的朋友就继续往下看吧。
这篇文章主要为大家介绍了python多线程死锁现象与解决方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008