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 相关文章推荐
github配置使用指南
Nov 18 Python
Python编程中使用Pillow来处理图像的基础教程
Nov 20 Python
python dict.get()和dict['key']的区别详解
Jun 30 Python
python 计算文件的md5值实例
Jan 13 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
通过实例了解python__slots__使用方法
Sep 14 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
Drupal7中常用的数据库操作实例
2014/03/02 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
php实现微信公众号无限群发
2015/10/11 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
跟老齐学Python之模块的加载
2014/10/24 Python
Flask解决跨域的问题示例代码
2018/02/12 Python
python学生管理系统代码实现
2020/04/05 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
python将时分秒转换成秒的实例
2019/12/07 Python
Pycharm小白级简单使用教程
2020/01/08 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
大学生表扬信范文
2014/01/09 职场文书
出国导师推荐信
2014/01/16 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
怎样写离婚协议书
2014/09/10 职场文书
2014年检验科工作总结
2014/11/22 职场文书
论文答谢词
2015/01/20 职场文书
2015年教务工作总结
2015/05/23 职场文书
收入证明申请书
2015/06/12 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
PHP中多字节字符串操作实例详解
2021/08/23 PHP
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers