使用multiprocessing.pool和pool.map时,似乎必须在创建池之前定义map函数。为什么这有必要?
以下是工作版本:
import multiprocessing
def my_power(x):
return x * x
_pool = multiprocessing.Pool()
my_list = _pool.map(my_power, list(range(10)))
print(my_list)
获取错误的版本,AttributeError:无法获取属性' my_power' ...
_pool = multiprocessing.Pool()
def my_power(x):
return x * x
my_list = _pool.map(my_power, list(range(10)))
print(my_list)
答案 0 :(得分:0)
对于多处理,代码需要序列化。我想运行时更容易在创建池之前序列化所有内容。否则,它必须分析并决定要序列化的内容。