Manager dict list 能够实现进程之间的数据共享,但是必须上锁来确保数据的准确性,
队列则可以实现进程之间数据通信
from multiprocessing import Process , Manager ,Lock
def work(d,lock):
# 自动上锁和解锁[简写]
with lock:
d["count"] - = 1
if __name__ == "__main__":
lock = Lock()
m = Manager()
dic = m.dict({"count":100})
lst = []
for i in range(100):
p =Process(target=work,args = (dic,lock))
lst.append(p)
p.start()
# 等待每一个进程执行完毕
for p in lst:
p.join()
print(dic)