说我有以下代码:
def func(a,b):
return (func2(a),func3(3))
def paralel_func(alist,blist)
with ThreadPoolExecutor(max_workers=None) as executor:
executor.map(func,alist,blist)
如何访问从func
返回的返回值?我试图通过认为executor.map
是一个包含值但是对我没有用的列表来弄清楚自己。
答案 0 :(得分:2)
我不知道您的alist和blist变量来自何处,但是您可以执行以下操作。
def func(a,b):
return (func2(a),func3(3))
def paralel_func(alist, blist):
processes = []
with ThreadPoolExecutor(max_workers=None) as executor:
processes.append(executor.map(func, alist, blist))
for _ in concurrent.futures.as_completed(processes):
print('Result: ', _.result())
答案 1 :(得分:1)
可能你应该试试这个
ablists = [alist, blist]
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
future_list= {executor.submit(func, a, b): i for i in ablists}
您可以在此处详细了解futures以及执行者
答案 2 :(得分:0)
map
方法返回一个迭代器,该迭代器产生对func
的调用的结果。