python 多进程共享全局变量之Manager()详解

 更新时间:2019年08月15日 16:47:27   作者:fdzwdt   我要评论
这篇文章主要介绍了python 多进程共享全局变量之Manager()详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Manager支持的类型有

list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和Array。

但当使用Manager处理list、dict等可变数据类型时,需要注意一个陷阱,即Manager对象无法监测到它引用的可变对象值的修改,需要通过触发__setitem__方法来让它获得通知。

而触发__setitem__方法比较直接的办法就是增加一个中间变量,如同在C语言中交换两个变量的值一样:

int a=1;int b=2;int tmp=a;a=b;b=tmp;

python例子:

from multiprocessing import Manager,Process
def test_manager():
  m[0]['id'] = 2
m = Manager().list()
m.append({"id":1})
p = Process(target=test_manager)
p.start()
p.join()
print m[0]

执行结果:

{"id":1}

并未改变

修改test_manager()

def test_manager():
 tmp = m[0]
 tmp{"id"} = 2
 m[0] = tmp

此时执行结果即为:

{"id":2}

另外,对于Process需注意对象要可被序列化pickle

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python字典操作实例详解

    python字典操作实例详解

    这篇文章主要为大家详细介绍了python字典操作实例的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • python爬虫 2019中国好声音评论爬取过程解析

    python爬虫 2019中国好声音评论爬取过程解析

    这篇文章主要介绍了python爬虫 2019中国好声音评论爬取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python实现动态加载模块、类、函数的方法分析

    Python实现动态加载模块、类、函数的方法分析

    这篇文章主要介绍了Python实现动态加载模块、类、函数的方法,结合实例形式分析了Python动态加载模块、类及函数的实现方法及操作技巧,需要的朋友可以参考下
    2017-07-07
  • Python爬虫包BeautifulSoup学习实例(五)

    Python爬虫包BeautifulSoup学习实例(五)

    这篇文章主要为大家详细介绍了Python爬虫包BeautifulSoup的学习实例,具有一定的参考价值,感兴趣的朋友可以参考一下
    2018-06-06
  • python常用库之NumPy和sklearn入门

    python常用库之NumPy和sklearn入门

    这篇文章主要介绍了python常用库之NumPy和sklearn入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python3.7实现中控考勤机自动连接

    Python3.7实现中控考勤机自动连接

    这篇文章主要为大家详细介绍了Python3.7实现中控考勤机自动连接,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python函数形参用法实例分析

    python函数形参用法实例分析

    这篇文章主要介绍了python函数形参用法,较为详细的讲述了Python函数形参的功能、定义及使用技巧,需要的朋友可以参考下
    2015-08-08
  • python实现excel读写数据

    python实现excel读写数据

    这篇文章主要为大家详细介绍了python操作EXCEL读数据、写数据的实例源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python制作动态字符图的实例

    Python制作动态字符图的实例

    今天小编就为大家分享一篇关于Python制作动态字符图的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 使用Python中的cookielib模拟登录网站

    使用Python中的cookielib模拟登录网站

    这篇文章主要介绍了使用Python中的cookielib模拟登录网站,用作生成cookie然后登录,需要的朋友可以参考下
    2015-04-04

最新评论