在使用多執行緒的時候難免想要獲取其操作完的返回值進行其他操作,下面的方法以作參考:
一,首先重寫threading類,使其滿足呼叫特定的方法獲取其返回值
import threading
class二,呼叫get_result()方法,最終列表retval就是多執行緒返回值的集合: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
defparse_detail_page(self,
items_list
):retval
, retlist
, _threads = ,
, for
url
in items_list:
t = mythread(
target
=self
.threaditem
, args
=(url,
for
t in
defthreaditem(self
,url):
"""多執行緒請求
"""
response = requests.get(url)
return response.text
Python多執行緒獲取返回值
在使用多執行緒的時候難免想要獲取其操作完的返回值進行其他操作,下面的方法以作參考 一,首先重寫threading類,使其滿足呼叫特定的方法獲取其返回值 import threading class mythread threading.thread 重寫多執行緒,使其能夠返回值 def init s...
Python 獲取多執行緒獲取返回值
1.通過重寫thread類,自定義乙個get result 方法 重新定義帶返回值的執行緒類 from threading import thread from time import sleep,time class mythread thread def init self,func,args ...
獲取Python多執行緒的返回值
用python多執行緒時,遇到需要獲取每個執行緒返回值的問題,經查資料學習總結如下 python中使用執行緒有兩種方式 用方法包裝執行緒和用類包裝執行緒 方法 一 用方法包裝執行緒 thread start new thread function args kwargs function 表示執行緒...