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 lambda和Python def区别分析
Nov 30 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
Numpy之文件存取的示例代码
Aug 03 Python
Python中的 enum 模块源码详析
Jan 09 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
Python numpy多维数组实现原理详解
Mar 10 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
Python 如何展开嵌套的序列
Aug 01 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 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设计模式 Observer(观察者模式)
2011/06/26 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
python使用scrapy解析js示例
2014/01/23 Python
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
python简单实现计算过期时间的方法
2015/06/09 Python
设置python3为默认python的方法
2018/10/31 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
python如何制作缩略图
2019/04/30 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python坐标线性插值应用实现
2019/11/13 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
鱼油专家:Omegavia
2016/10/10 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
行政专员岗位职责
2014/01/02 职场文书
校长师德表现自我评价
2015/03/04 职场文书
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL