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解析XML的四种方式
Mar 30 Python
python语言中with as的用法使用详解
Feb 23 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
Python偏函数实现原理及应用
Nov 20 Python
python 模拟登录B站的示例代码
Dec 15 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
pytorch 中autograd.grad()函数的用法说明
May 12 Python
python 提取html文本的方法
May 20 Python
python中取整数的几种方法
Nov 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实现把数字ID转字母ID
2013/08/12 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
显示、隐藏密码
2006/07/01 Javascript
Prototype使用指南之hash.js
2007/01/10 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
汽车维修专业个人求职信范文
2014/01/01 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
环保志愿者活动方案
2014/08/14 职场文书
高中运动会广播稿
2014/09/16 职场文书
2015年药店工作总结
2015/04/20 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
爱的教育读书笔记
2015/06/26 职场文书