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实现simhash算法实例
Apr 25 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
用Python的Django框架来制作一个RSS阅读器
Jul 22 Python
python生成式的send()方法(详解)
May 08 Python
Python中字典的浅拷贝与深拷贝用法实例分析
Jan 02 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
Python求出0~100以内的所有素数
Jan 23 Python
opencv python 傅里叶变换的使用
Jul 21 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
python解压TAR文件至指定文件夹的实例
Jun 10 Python
Keras-多输入多输出实例(多任务)
Jun 22 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
德生9700DX电路分析
2021/03/02 无线电
在PHP的图形函数中显示汉字
2006/10/09 PHP
PHP 字符串分割和比较
2009/10/06 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
JSONP 跨域共享信息
2012/08/16 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
pytorch构建网络模型的4种方法
2018/04/13 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
Python安装OpenCV的示例代码
2020/03/05 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
农民工工资承诺书范文
2014/03/31 职场文书
村干部培训方案
2014/05/02 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
春晚观后感
2015/06/11 职场文书
信息技术研修心得体会
2016/01/08 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
怎么用Python识别手势数字
2021/06/07 Python