猿问

是否将共享只读数据复制到不同进程以进行多处理?

是否将共享只读数据复制到不同进程以进行多处理?

我看到的那段代码看起来像这样:

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()


开心每一天1111
浏览 468回答 3
3回答
随时随地看视频慕课网APP

相关分类

Python
我要回答