Python 为什么在multiprocessing.pool之前要定义pool.map函数?

Python 为什么在multiprocessing.pool之前要定义pool.map函数?,python,python-multiprocessing,multiprocess,Python,Python Multiprocessing,Multiprocess,使用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:无法获取属性“

使用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)

对于多处理,代码需要序列化。我想在创建池之前,运行时序列化所有内容会更容易。否则,它必须分析并决定序列化什么