Python多线程获取返回值代码实例


Posted in Python onFebruary 17, 2020

这篇文章主要介绍了Python多线程获取返回值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在使用多线程的时候难免想要获取其操作完的返回值进行其他操作,下面的方法以作参考:

一,首先重写threading类,使其满足调用特定的方法获取其返回值

import threading
class MyThread(threading.Thread):
  """重写多线程,使其能够返回值"""
  def __init__(self, target=None, args=()):
    super(MyThread, self).__init__()
    self.func = target
    self.args = args

  def run(self):
    self.result = self.func(*self.args)

  def get_result(self):
    try:
      return self.result # 如果子线程不使用join方法,此处可能会报没有self.result的错误
    except Exception:
      return None

二,调用get_result()方法,最终列表retval就是多线程返回值的集合:

def parse_detail_page(self,items_list):
  retval, RetList, _Threads = [], [], []
  for url in items_list:
    t = MyThread(target=self.threadItem, args=(url,))
    t.start()
    _Threads.append(t)
  for t in _Threads:
    t.join()
    retval.append(t.get_result())
def threadItem(self,url):
  """多线程请求""" 
 response = requests.get(url)
  return response.text

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python进阶教程之函数对象(函数也是对象)
Aug 30 Python
python中字符串前面加r的作用
Jun 04 Python
python字符类型的一些方法小结
May 16 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python利用turtle库绘制彩虹代码示例
Dec 20 Python
Python编程求质数实例代码
Jan 31 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python将pandas datarame保存为txt文件的实例
Feb 12 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 Python
Python实现ATM系统
Feb 17 #Python
python设置环境变量的作用整理
Feb 17 #Python
python数据爬下来保存的位置
Feb 17 #Python
使用TFRecord存取多个数据案例
Feb 17 #Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 #Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 #Python
python3连接MySQL8.0的两种方式
Feb 17 #Python
You might like
一个PHP的QRcode类与大家分享
2011/11/13 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
python类的继承实例详解
2017/03/30 Python
安装docker-compose的两种最简方法
2019/07/30 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
python实现文法左递归的消除方法
2020/05/22 Python
python实现磁盘日志清理的示例
2020/11/05 Python
解释一下Windows的消息机制
2014/01/30 面试题
医学专业毕业生个人求职信
2013/12/25 职场文书
党员志愿者活动方案
2014/08/28 职场文书
专家推荐信范文
2015/03/26 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
在Python中如何使用yield
2021/06/07 Python
2022年四月新番
2022/03/15 日漫