Python多線程獲取返回值代碼實(shí)例
這篇文章主要介紹了Python多線程獲取返回值代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
在使用多線程的時(shí)候難免想要獲取其操作完的返回值進(jìn)行其他操作,下面的方法以作參考:
一,首先重寫threading類,使其滿足調(diào)用特定的方法獲取其返回值
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方法,此處可能會(huì)報(bào)沒有self.result的錯(cuò)誤 except Exception: return None
二,調(diào)用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): """多線程請(qǐng)求""" response = requests.get(url) return response.text
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決tensorboard多個(gè)events文件顯示紊亂的問題
今天小編就為大家分享一篇解決tensorboard多個(gè)events文件顯示紊亂的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02詳解如何優(yōu)化和調(diào)整Python中Scrapy的性能
在本篇高級(jí)教程中,我們將深入探討如何優(yōu)化和調(diào)整Scrapy爬蟲的性能,以及如何處理更復(fù)雜的抓取任務(wù),如登錄,處理Cookies和會(huì)話,以及避免爬蟲被網(wǎng)站識(shí)別和封鎖,需要的朋友可以參考下2023-09-09Python基于xlutils修改表格內(nèi)容過程解析
這篇文章主要介紹了Python基于xlutils修改表格內(nèi)容過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07python的ImageTk.PhotoImage大坑及解決
這篇文章主要介紹了python的ImageTk.PhotoImage大坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11pytorch從csv加載自定義數(shù)據(jù)模板的操作
這篇文章主要介紹了pytorch從csv加載自定義數(shù)據(jù)模板的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03pytorch中 gpu與gpu、gpu與cpu 在load時(shí)相互轉(zhuǎn)化操作
這篇文章主要介紹了pytorch模型載入之gpu和cpu互轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05