python多线程返回值怎样获得
在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()
方法。
TOP