在Python中,如何在进程池中重复调用相同的函数?
考虑到下面的代码,是否还有其他pythonish方法可以做到这一点 将每个进程存储在一个列表中,然后在每个进程中调用另一个函数(在Python中,如何在进程池中重复调用相同的函数?,python,python-multiprocessing,Python,Python Multiprocessing,考虑到下面的代码,是否还有其他pythonish方法可以做到这一点 将每个进程存储在一个列表中,然后在每个进程中调用另一个函数(result())。更重要的是,如果我需要一个结果列表,就像Executor.map()所做的那样,但是由于函数没有参数(或者在所有调用中参数都可能相同),我无法使用map()来执行 import random from concurrent.futures import ProcessPoolExecutor def random_computation():
result()
)。更重要的是,如果我需要一个结果列表,就像Executor.map()
所做的那样,但是由于函数没有参数(或者在所有调用中参数都可能相同),我无法使用map()
来执行
import random
from concurrent.futures import ProcessPoolExecutor
def random_computation():
x = random.randint(1,1000)
y = random.randint(1,1000)
z = random.randint(1,1000)
return x * y / z
if __name__ == '__main__':
with ProcessPoolExecutor() as executor:
processes = []
for _ in range(1000):
processes.append(executor.submit(random_computation))
results = [p.result() for p in processes]
标题是“调用相同的函数”,描述是“调用另一个函数”。为什么?我是说调用
p.result()
。