网络编程
位置:首页>> 网络编程>> Python编程>> Python多线程获取返回值代码实例

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com