数据共享

from multiprocessing import Manager,Process,Lock

def main(dic,lk):
lk.acquire()
dic['count']-=1
lk.release()

if __name__=='__main__':
m=Manager() #数据共享,如果不加锁,容易同时读数据,造成dic['count'] -=1 的数据操作的是同一个数。
lk=Lock()
dic=m.dict({'count':100})
p_lst=[]

for i in range(50):
p = Process(target = main,args=(dic,lk))
p.start()
p_lst.append(p)
for i in p_lst:
i.join()
print(dic)
原文地址:https://www.cnblogs.com/liu1983/p/13612744.html