数据共享

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)
posted @ 2020-09-04 11:18  济宁爱学习  阅读(173)  评论(0编辑  收藏  举报