您好我正在尝试使用多处理并行定义字典的值。当函数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']
进程之间共享状态很困难。也许在子进程中执行复杂的操作并在父进程中维护'命中'的全局状态。 –