中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

使用python多線程并返回值的方法

發布時間:2020-11-09 10:36:07 來源:億速云 閱讀:1319 作者:小新 欄目:編程語言

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

Python 從多線程中返回值,有多種方法:

1、常見的有寫一個自己的多線程類,寫一個方法返回。

2、可以設置一個全局的隊列返回值。

3、也可以用multiprocessing.pool.ThreadPool 。

下面寫一個類從線程中返回值

# coding:utf-8
import time
 
from threading import Thread
 
def foo(number):
    time.sleep(20)
    return number
 
class MyThread(Thread):
 
    def __init__(self, number):
        Thread.__init__(self)
        self.number = number
 
    def run(self):
        self.result = foo(self.number)
 
    def get_result(self):
        return self.result
 
 
thd1 = MyThread(3)
thd2 = MyThread(5)
thd1.start()
thd2.start()
thd1.join()
thd2.join()
 
print thd1.get_result()
print thd2.get_result()

另外,自帶的Thread 實例并沒有返回結果的方法. 需要自己實現,自己定義一個類:

class CustomTask:
    def __init__(self):
        self._result = None
    
    def run(self, *args, **kwargs):
        # 你的代碼, 你用來進行多線程
        result = ...
        self._result = result
    
    def get_result(self):
        return self._result
這里自己實現了 `get_result` 方法。
使用
import threading
 
ct = CustomTask()
t = threading.Thread(target=ct.run, args=(...))
t.start()
# 結束之后
result = ct.get_result()

感謝你能夠認真閱讀完這篇文章,希望小編分享使用python多線程并返回值的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

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

AI

班玛县| 晋中市| 寿光市| 浦北县| 綦江县| 南乐县| 博爱县| 黄浦区| 香格里拉县| 米易县| 临湘市| 台南市| 彭州市| 马公市| 敖汉旗| 永兴县| 营口市| 通江县| 新乐市| 台湾省| 和龙市| 大荔县| 多伦县| 清新县| 湖北省| 株洲县| 漳州市| 进贤县| 夏邑县| 巍山| 且末县| 金沙县| 梧州市| 五寨县| 甘谷县| 洞头县| 白银市| 白城市| 赫章县| 梅河口市| 遂平县|