您好我正在嘗試使用多處理並行定義字典的值。當函數f()在「pool」之外被調用時,字典值被正確設置。然而在池調用中,它失敗了。Python中的多線程/處理
我在做什麼錯?謝謝。
from multiprocessing import Pool
hits={}
def f(x):
hits[x] = x #this will involve a complex operation
f('000')
print hits['000']
if __name__ == '__main__':
pool = Pool(processes=2)
inputs = ['a','b','c']
result = pool.map(f, inputs)
print hits['a']
進程之間共享狀態很困難。也許在子進程中執行復雜的操作並在父進程中維護'命中'的全局狀態。 –