Python 线程池模块之多线程操作代码
作者:简简单单OnlineZuozuo 时间:2022-06-14 06:01:47
1、线程池模块
引入
from concurrent.futures import ThreadPoolExecutor
2、使用线程池
一个简单的线程池使用案例
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())
3、获取结果
阻塞等待
print(task.result())
批量获取结果
for future in as_completed(all_task):
data = future.result()
阻塞主线程,等待执行结束再执行下一个业务
# 等待线程全部执行完毕
wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED)
print('')
来源:https://blog.csdn.net/qq_15071263/article/details/116891521
标签:Python,多线程,线程池模块
0
投稿
猜你喜欢
Python lambda表达式filter、map、reduce函数用法解析
2022-03-30 03:52:31
《JavaScript语言精粹》译者序及样章试读
2009-04-03 11:38:00
火狐浏览器:浏览数据新方式(附模拟图)[译]
2009-04-23 10:51:00
python实现挑选出来100以内的质数
2023-03-03 16:32:04
javascript中的数字与字符串相加实例分析
2024-06-05 09:12:13
Pandas数据结构详细说明及如何创建Series,DataFrame对象方法
2021-03-14 12:13:35
Python接口自动化之浅析requests模块get请求
2021-12-07 07:20:45
Python实现二维曲线拟合的方法
2021-08-26 12:38:01
Python如何实现转换URL详解
2021-06-28 20:23:46
交互设计实用指南系列(1) – “有效性”之“操作入口明确”
2009-12-11 18:42:00
mysql 中如何取得汉字字段的各汉字首字母
2024-01-12 20:08:57
解决jupyter notebook启动后没有token的坑
2023-03-18 23:46:37
Python批量生成字幕图片的方法详解
2023-11-03 05:03:15
JS中Map和ForEach的区别
2024-04-29 13:19:47
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2023-04-23 01:48:44
PHP实现二维数组中的查找算法小结
2023-09-08 05:08:24
python中%格式表达式实例用法
2022-02-05 06:59:02
Python人工智能之混合高斯模型运动目标检测详解分析
2021-11-01 21:28:43
MySQL 随机函数获取数据速度和效率分析
2024-01-13 00:43:01
go语言环境搭建简述
2024-05-22 10:12:57