2011-07-05 56 views

回答

-1

我不這麼認爲 - 但你可以保存東西到一個模塊變量。如果你在fork之前這樣做(並且你不在windows上),它應該可以正常工作。

import mymodule 

def somefunc(parameter): 
    # do something with mymodule.var 

# load/process local data 
# save to module variable 
mymodule.var = var 
# now fork 
p = multiprocessing.Pool(8) 
p.map(somefunc, list_of_params) 

如果您使用IPython中,你需要把somefunc一個模塊中太(酸洗功能主要似乎不工作)。

+0

不工作。由於參考計數器遞增,寫入時複製被大多數讀取無效。 – Will

+0

但對於大型變量更新引用計數器將只複製包含引用計數器的頁面 - 而不是整個(未觸及的)數據。我通常使用上面運行良好的大型numpy陣列。 – robince