python并发

13.python多进程之Manager

2019-01-01  本文已影响11人  花间派I风月

一、概述

  1. Python中提供了强大的Manager类,专门用于实现多进程之间的数据共享;
  2. Manager类是数据不安全的;
  3. Mangaer类支持的类型非常多,如:value, Array, List, Dict, Queue, Lock等。

二、常用方法和属性


三、示例

Manager实现dict功能

from multiprocessing import Manager,Process,Lock
def work(d,lock):
    with lock: #不加锁而操作共享的数据,肯定会出现数据错乱
        d['count']-=1

if __name__ == '__main__':
    lock=Lock()
    with Manager() as m:
        dic=m.dict({'count':100})
        p_l=[]
        for i in range(100):
            p=Process(target=work,args=(dic,lock))
            p_l.append(p)
            p.start()
        for p in p_l:
            p.join()
        print(dic)
上一篇 下一篇

猜你喜欢

热点阅读