Python多线程获取返回值代码实例
作者:python许三多 发布时间:2023-03-25 17:42:27
标签:Python,多,线程,返回,值
这篇文章主要介绍了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
来源:https://www.cnblogs.com/fanjp666888/p/10711226.html


猜你喜欢
- 程序运行环境code# -*- coding:utf-8 -*-# -----------------------------------#
- insert into values插入多条数据insert into 表名(字段名1,字段名2)values(值a1,值b1), (值a2
- 前言: 在刚解决jupyter notebook打不开网页的问题后,我迫不及待地写了P
- 开发动机:最近用手机QQ浏览器下载了一些视频,视频越来越多,占用了手机内存,于是想把下载的视频传到电脑上保存,可后来发现这些视频都是m3u8
- 现代浏览器可以基于RFC 2397标准使用base64把图片进行编码,然后输出类似data:image/png;base64,iVBORw0
- 以下内容都是针对Pytorch 1.0-1.1介绍。很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解
- 这篇文章主要介绍了Pycharm debug调试时带参数过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- Vue中内置了很多的指令,如v-model、v-show、v-html等,但是有时候这些指令并不能满足我们,或者说我们想为元素附加一些特别的
- 本文实例讲述了Python多进程原理与用法。分享给大家供大家参考,具体如下:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了
- 如何最大限度地实现安全登录功能? 具体方法如下(这是一个程序,为便于说明,中间用虚线“------”将代
- Go init函数详解init()函数会在每个包完成初始化后自动执行,并且执行优先级比main函数高。init 函数通常被用来:对变量进行初
- MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法1: 使用set password语句修改mysql
- 本文实例讲述了Python实现多并发访问网站功能。分享给大家供大家参考,具体如下:# Filename:visitweb_threads.p
- 对于access数据库的日期时间类型字段存储的日期,直接从数据库中读出显示的效果是带时间的如,2009-06-13 18:00 ,如果只是希
- Python快捷键相关设置,具体内容如下1、主题毫无疑问Pycharm是一个具有强大快捷键系统的IDE,这就意味着你在Pycharm中的任何
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- 一、什么是v-bind指令v-bind指令用于响应更新HTML特性,允许将一个或多个属性动态绑定到表达式。v-bind是应用在动态属性上面的
- 如何用拦截表单的方法上传图片? 看下列代码:<script language="
- predict_proba 返回的是一个 n 行 k 列的数组,列是标签(有排序), 第 i 行 第 j 列上的数值是模型预测 第 i 个预
- 最近由于公司有一个向谷歌网站上传文件的需求,需要进行web的自动化测试,选择了selenium这个自动化测试框架,以前没有接触过这门技术,所