我正在使用python开发一个应用程序,使用
mutliprocessing
模块,代码如下所示:
import multiprocessing
globalData = loadData() #very large data
def f(v):
global globalData
return someOperation(globalData,v)
if __name__ == '__main__':
pool = multiprocessing.Pool()
arr = loadArray() #some big list
res = pool.map(f,arr)
问题是,所有子进程都需要相同的全局数据来处理该函数,因此它会加载该函数,并且需要很长时间。在所有子进程之间共享该数据的最佳解决方案是什么,因为它已经加载到父进程中了?