python concurrent.futures模块如何使用
发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,这篇文章主要介绍了python concurrent.futures模块如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python concurrent.futu
千家信息网最后更新 2025年01月26日python concurrent.futures模块如何使用
这篇文章主要介绍了python concurrent.futures模块如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python concurrent.futures模块如何使用文章都会有所收获,下面我们一起来看看吧。
概述
concurrent.futures 是 3.2 中引入的新模块,它为异步执行可调用对象提供了高层接口。
可以使用 ThreadPoolExecutor 来进行多线程编程,ProcessPoolExecutor 进行多进程编程,两者实现了同样的接口,这些接口由抽象类 Executor 定义。
这个模块提供了两大类型,一个是执行器类 Executor,另一个是 Future 类。
执行器用来管理工作池,future 用来管理工作计算出来的结果,通常不用直接操作 future 对象,因为有丰富的 API。
说明
Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类,实现了对threading和multiprocessing的进一步抽象,对编写线程池/进程池提供了直接的支持.
#! /usr/bin/env python# -*- coding: utf-8 -*-## -------------------------------------------------------------------------------# Name: demo3# Author: yunhgu# Date: 2021/7/8 15:17# Description: # -------------------------------------------------------------------------------import osimport timeimport threadingfrom concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor, as_completeddef work(x): time.sleep(1) temp = f"父进程{os.getppid()}:子进程{os.getpid()}:线程{threading.get_ident()}:{x}" return tempdef sub_thread(): temp_list = [] with ThreadPoolExecutor(max_workers=3) as t: task_list = [t.submit(work, i) for i in range(5)] for task in as_completed(task_list): if task.done(): temp_list.append(task.result()) return temp_listdef main(): print(f"主进程:{os.getpid()}") path_list = [] with ProcessPoolExecutor(max_workers=3) as p: task_list = [p.submit(sub_thread) for i in range(5)] for task in as_completed(task_list): if task.done(): path_list.append(task.result()) for path in path_list: print(path)if __name__ == "__main__": main()
关于"python concurrent.futures模块如何使用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python concurrent.futures模块如何使用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
模块
进程
接口
知识
线程
内容
对象
管理工作
篇文章
执行器
工作
管理
编程
不用
两个
价值
操作简单
文章
易懂
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全活动周活动方案
redis内存数据库技术
国家网络安全遵守什么方针
中卫网络技术服务
行云互联网科技
推理服务器供应费用
山西兆承网络技术有限公司
软件开发企业运营管理
北碚区一站式软件开发流程市场价
攻城掠地单机版数据库修改
戴尔服务器一直启动
软件开发合同纠纷解决方案
网络技术英文单词
保通科讯网络技术
亿兴互联网科技
嘉诚网络技术有限公司
服务器出口需要的认证
navicat数据库导出
歌曲音译软件开发
数据库连接多个服务器
福建联通网络技术部负责人
服务器管理口在哪儿
研华串口服务器和数据网关的区别
软件开发上班时间长吗
服务器硬件ID一样
dns服务器北京联通虚拟主机
软件开发税费表
武汉大学图书馆数据库步骤
中国出口数据库
广东服务器机柜在哪里买