【发布时间】:2021-10-04 08:15:44
【问题描述】:
例如:
from multiprocessing import Pool
from functools import partial
numbers = []
for i in range(100):
numbers.append(i)
def add_one(number, new_numbers):
new = number + 1
new_numbers.append(new)
new_numbers = []
process_pool = Pool(2)
add_one_helper = partial(add_one, new_numbers=new_numbers)
process_pool.map(add_one_helper, numbers)
print(new_numbers)
我想 new_numbers 将打印:1、2、3、4...,但它在 print() 中是空的。通话后如何获取 new_numbers 填充?
【问题讨论】:
-
可能需要加入什么的
-
如果我添加 process_pool.join(),它会报错:'ValueError: Pool is still running'
-
无论如何这都是完全错误的使用
Pool.map的方式。为什么不能按正常方式做呢? -
这个答案不起作用:stackoverflow.com/questions/11025005/…, TypeError: f() missing 1 required positional argument: 'x'