是否將共享只讀數(shù)據(jù)復(fù)制到不同進(jìn)程以進(jìn)行多處理?我看到的那段代碼看起來(lái)像這樣: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))有沒(méi)有辦法確保(或鼓勵(lì))不同的進(jìn)程沒(méi)有獲得glbl_array的副本但共享它。如果沒(méi)有辦法停止復(fù)制,我將使用memmapped數(shù)組,但我的訪問(wèn)模式不是很規(guī)律,所以我希望memmapped數(shù)組更慢。以上似乎是第一個(gè)嘗試的事情。這是在Linux上。我只是想從Stackoverflow獲得一些建議,并且不想惹惱系統(tǒng)管理員。你認(rèn)為它會(huì)幫助,如果第二個(gè)參數(shù)是像一個(gè)真正的不可變對(duì)象glbl_array.tostring()。
是否將共享只讀數(shù)據(jù)復(fù)制到不同進(jìn)程以進(jìn)行多處理?
開(kāi)心每一天1111
2019-07-26 14:54:24