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

 更新时间:2019年08月15日 16:47:26   作者: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获取QQ音乐某个歌手的歌单

    教你使用Python获取QQ音乐某个歌手的歌单

    这篇文章主要介绍了Python获取QQ音乐某个歌手的歌单,从qq音乐中获取某个你喜欢的歌手的清单,涉及到的库有requests、json,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Python mutiprocessing多线程池pool操作示例

    Python mutiprocessing多线程池pool操作示例

    这篇文章主要介绍了Python mutiprocessing多线程池pool操作,结合实例形式分析了Python多线程模块multiprocessing进程池相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • keras建模的3种方式详解

    keras建模的3种方式详解

    这篇文章主要介绍了keras建模的3种方式详解,keras是Google公司于2016年发布的以tensorflow为后端的用于深度学习网络训练的高阶API,因接口设计非常人性化,深受程序员的喜爱,需要的朋友可以参考下
    2023-08-08
  • Python实现购物系统(示例讲解)

    Python实现购物系统(示例讲解)

    下面小编就为大家带来一篇Python实现购物系统(示例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 利用python爬取散文网的文章实例教程

    利用python爬取散文网的文章实例教程

    这篇文章主要跟大家介绍了利用python爬取散文网文章的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Python解析Laravel Cookie技巧示例

    Python解析Laravel Cookie技巧示例

    本文将介绍如何使用Python解析Laravel Cookie,以便在Web开发中处理这些Cookie数据,我们将深入了解Cookie的结构,以及如何在Python中对其进行解析和操作
    2023-12-12
  • Python 文本文件内容批量抽取实例

    Python 文本文件内容批量抽取实例

    今天小编就为大家分享一篇Python 文本文件内容批量抽取实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python 将数据保存为excel的xls格式(实例讲解)

    python 将数据保存为excel的xls格式(实例讲解)

    下面小编就为大家分享一篇python 将数据保存为excel的xls格式(实例讲解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 详解NumPy中的线性关系与数据修剪压缩

    详解NumPy中的线性关系与数据修剪压缩

    本文将通过股票均线计算的案例来为大家讲解一下NumPy中的线性关系以及数据修剪压缩的实现,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • 对python多线程中互斥锁Threading.Lock的简单应用详解

    对python多线程中互斥锁Threading.Lock的简单应用详解

    今天小编就为大家分享一篇对python多线程中互斥锁Threading.Lock的简单应用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论