Python 线程池模块之多线程操作代码


Posted in Python onMay 20, 2021

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('')

以上就是Python 线程池模块之多线程操作代码的详细内容,更多关于Python 线程池模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
如何处理Python3.4 使用pymssql 乱码问题
Jan 08 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
python脚本爬取字体文件的实现方法
Apr 29 Python
Python二叉树的定义及常用遍历算法分析
Nov 24 Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 Python
opencv python 图像去噪的实现方法
Aug 31 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
在主流系统之上安装Pygame的方法
May 20 Python
keras .h5转移动端的.tflite文件实现方式
May 25 Python
Python+tkinter实现高清图片保存
Mar 13 Python
pytorch中[..., 0]的用法说明
May 20 #Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 #Python
pytorch实现手写数字图片识别
解决python3安装pandas出错的问题
May 20 #Python
python 如何在list中找Topk的数值和索引
May 20 #Python
Requests什么的通通爬不了的Python超强反爬虫方案!
python使用glob检索文件的操作
You might like
封装一个PDO数据库操作类代码
2009/09/09 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
php 获取页面中指定内容的实现类
2014/01/23 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
Vue组件tree实现树形菜单
2017/04/13 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
OpenLayers3实现地图显示功能
2020/09/25 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
python的unittest测试类代码实例
2017/12/07 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
python怎么提高计算速度
2020/06/11 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
学校文明单位申报材料
2014/05/06 职场文书
教师节宣传方案
2014/05/23 职场文书
规范化管理年活动总结
2014/08/29 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
医院病假条范文
2015/08/17 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS