在Python中,可以使用concurrent.futures
模塊來實現多線程并獲取返回值。具體步驟如下:
concurrent.futures
模塊:import concurrent.futures
def task():
# 執行任務
return result
executor = concurrent.futures.ThreadPoolExecutor()
future = executor.submit(task)
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()
方法。