共計 623 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Python 中,可以使用 concurrent.futures 模塊來實現多線程并獲取返回值。具體步驟如下:
- 導入
concurrent.futures模塊:
import concurrent.futures
- 定義一個函數來執行多線程任務,該函數返回需要獲取的值:
def task():
# 執行任務
return result
- 創建一個線程池對象:
executor = concurrent.futures.ThreadPoolExecutor()
- 提交任務到線程池,并獲取 Future 對象:
future = executor.submit(task)
- 調用 Future 對象的
result()方法獲取返回值:
result = future.result()
完整示例代碼如下:
import concurrent.futures
def task():
# 執行任務
return result
executor = concurrent.futures.ThreadPoolExecutor()
future = executor.submit(task)
result = future.result()
print(result)
注意:future.result()方法是一個阻塞方法,會等待任務執行完畢并返回結果。如果任務沒有執行完畢,調用該方法會阻塞當前線程。如果需要并發執行多個任務并獲取所有結果,可以使用 as_completed() 方法和 executor.map() 方法。
丸趣 TV 網 – 提供最優質的資源集合!
正文完