python 线程池 futures使用
python 线程池
- 例一
# 首先导包 from concurrent.futures import ThreadPoolExecutor # 创建线程池 executor = ThreadPoolExecutor(10) # 测试方法 def test_function(num1, num2): print(num1, num2) return num1 + num2 # 第一个参数为具体的方法,后面为方法的参数 future = executor.submit(test_function, 1, 2) # future的result()方法可以获取到函数的执行结果 print(future.result())
ThreadPoolExecutor(pool_count)
: pool_count代表创建线程的数量,会返回一个该线程池的执行者对象,这个对象的submit()
方法和map()
方法,能够使用线程池中的线程来执行我们指定的方法,并且返回一个Future
对象。Future
对象的result()
方法,可以获取我们方法执行的结果。如果方法一直没有返回或执行完毕,则result()
方法会进入阻塞状态,直到我们的方法返回或执行完毕。
- 例二
from concurrent.futures import ThreadPoolExecutor executor = ThreadPoolExecutor(10) def test_function(num1, num2): print(num1, num2) return num1 + num2 result_iterators = executor.map(test_function, [1, 2], [5, 5]) for result in result_iterators: print(result)
"""
executor.map(function, 参数1_list, 参数2_list, 参数n_list)
参数1_list: 代表方法第一个参数的列表
参数2_list: 代表方法第二个参数的列表
如: executor.map(test_function, [1, 2], [5, 5])
代表,执行test_function方法,第一个线程的参数为1和5,第二个线程的参数为2和5。 线程1:test_function(1, 5) 结果为1 + 5 = 6 该方法返回的是一个可迭代的对象,里面直接包含了每个方法执行的结果,不需要调用result()方法。 详情:https://docs.python.org/3/library/concurrent.futures.html
"""
结果
1 5
2 5
6
7
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript DOM学习笔记--创建追加元素
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>动态添加城市</title> <script> window.onload = function(){ document.getElementById("btn").onclick = function(){ //1.获取ul元素节点 var ulEle = document.getElementById("ul1"); //2.创建城市文本节点 var textNode = document.createTextNode("深圳");//深圳 //3.创建li元素节点 var liEle = document.createElement("li");//<li></li> //4.将城市文本节点添加到li元素节点中去 liEle.appendChild(textNode);//<li>深圳</li> //5.将li添加到ul中去 ulE...
- 下一篇
燃!Java全球标准中国人参与制定,阿里成首个受邀中国公司
2018年5月17日,作为唯一中国代表,阿里巴巴获邀加入Java全球管理组织Java Community Process (JCP)的最高执行委员会。此次获得执行委员会席位,让中国企业首次加入到Java全球标准的制定中,更多“中国标准”有望成为全球规范。 JCP是一个开放性的国际技术标准组织,职责是发展和更新Java技术规范。由24个成员组成的执行委员会则是该组织的最高决策机构,负责规划Java的技术演进方向。 图:阿里巴巴加入 Java管理组织Java Community Process (JCP)执行委员会 Java是全球使用最为广泛的开发语言之一。目前Java技术已无处不在,无论是手机应用、电脑软件还是物联网,众多中国互联网企业也将Java作为主要编程语言。但长期以来,Java标准规范的制定主要由甲骨文、ARM、IBM、Intel
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程