91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python獲取多線程返回值的

發布時間:2020-11-24 11:54:46 來源:億速云 閱讀:198 作者:小新 欄目:編程語言

這篇文章主要介紹了怎么使用Python獲取多線程返回值的,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

第一種:在threading中使用全球變量

在threading中,并沒有實現返回值的方法,所以我們可以利用全局變量來實現返回值的獲取。

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獲取多線程返回值的內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤峰市| 通渭县| 虹口区| 厦门市| 张家口市| 九寨沟县| 沈阳市| 隆安县| 长宁县| 和田市| 陈巴尔虎旗| 会泽县| 昭通市| 阳山县| 高阳县| 巴林左旗| 廊坊市| 丹棱县| 临颍县| 虎林市| 乌兰察布市| 海盐县| 家居| 祁阳县| 闽侯县| 柳江县| 宁夏| 汶上县| 鹤山市| 清苑县| 甘南县| 乐昌市| 习水县| 九江县| 南江县| 嘉黎县| 云浮市| 夏津县| 娱乐| 上思县| 长泰县|