首页 > 系统服务 > 详细

manager 实现进程之间的数据共享 list dict

时间:2019-11-16 12:37:41      阅读:110      评论:0      收藏:0      [点我收藏+]

manager 能够实现进程之间的数据共享 (list,dict)

  如果多个进程同事修改同一份共享数据,这个时候需要加锁,保证数据的准确性。

  (1) dict list 可以实现进程之间的数据共享
  (2)为了保证数据的准确性,需要加锁

基本语法:

m = Manager()

dic = m.dic({"count":1000}) 或者 lst = m.list({"count":1000})

 1 from multiprocessing import Process,Manager,Lock
 2 def work(dic,lock):
 3     # with 语法 可以自动的上锁和解锁
 4     with lock:
 5         dic["count"] -= 1
 6     """
 7     lock.acquire()
 8     dic["count"] -= 1
 9     lock.release()
10     """
11 
12 if __name__ == __main__:
13     lst = []
14     # 创建一把锁
15     lock = Lock()
16     m = Manager()
17     dic = m.dict({"count" : 1000})
18 
19     for i in range(100):
20         p = Process(target=work,args=(dic,lock))
21         p.start()
22         lst.append(p)
23 
24     for i in lst:
25         i.join()
26 
27     print(dic,type(dic))

 

manager 实现进程之间的数据共享 list dict

原文:https://www.cnblogs.com/youhongliang/p/11871337.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!