是否将共享只读数据复制到不同进程以进行多处理?我看到的那段代码看起来像这样:glbl_array = # a 3 Gb arraydef my_func( args, def_param = glbl_array):
#do stuff on args and def_paramif __name__ == '__main__':
pool = Pool(processes=4)
pool.map(my_func, range(1000))有没有办法确保(或鼓励)不同的进程没有获得glbl_array的副本但共享它。如果没有办法停止复制,我将使用memmapped数组,但我的访问模式不是很规律,所以我希望memmapped数组更慢。以上似乎是第一个尝试的事情。这是在Linux上。我只是想从Stackoverflow获得一些建议,并且不想惹恼系统管理员。你认为它会帮助,如果第二个参数是像一个真正的不可变对象glbl_array.tostring()。
添加回答
举报
0/150
提交
取消