這篇文章主要介紹了怎么使用Python獲取多線程返回值的,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
10年積累的網(wǎng)站設(shè)計、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先做網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有陽新免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。第一種:在threading中使用全球變量
在threading中,并沒有實現(xiàn)返回值的方法,所以我們可以利用全局變量來實現(xiàn)返回值的獲取。
from threading import Thread _sum = 0 def cal_sum(begin, end): # 聲明使用全局變量 global _sum for i in range(begin, end + 1): _sum += i if __name__ == '__main__': t1 = Thread(target=cal_sum, args=(1, 5)) t2 = Thread(target=cal_sum, args=(6, 10)) t1.start() t2.start() print(_sum)
第二種:重寫Thread類,自定義一個get_result()
from threading import Thread # _sum = 0 def cal_sum(begin, end): # global _sum _sum = 0 for i in range(begin, end + 1): _sum += i return _sum """重新定義帶返回值的線程類""" class MyThread(Thread): def __init__(self, func, args): super(MyThread, self).__init__() self.func = func self.args = args def run(self): self.result = self.func(*self.args) def get_result(self): try: return self.result except Exception: return None if __name__ == '__main__': t1 = MyThread(cal_sum, args=(1, 5)) t2 = MyThread(cal_sum, args=(6, 10)) t1.start() t2.start() t1.join() t2.join() res1 = t1.get_result() res2 = t2.get_result() print(res1 + res2)
感謝你能夠認真閱讀完這篇文章,希望小編分享怎么使用Python獲取多線程返回值的內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細的解決方法等著你來學(xué)習(xí)!
本文標題:怎么使用Python獲取多線程返回值的-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://muchs.cn/article46/dgdpeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站改版、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容