Manager 可以实现列表,字典,变量,锁,信号量,事件等的数据之间的共享。Manager已经默认加锁了。控制数据不会乱。

实现了不同进程之间数据的共享,并且可以同时修改。

from multiprocessing import Process, Manager
import os
def f(d, l):d[1] = '1' #字典中的key-valued['2'] = 2d[0.25] = Noned[os.getpid()]=os.getpid() #往字典中放每个进程的PID号l.append(os.getpid()) #获取进程号print(l)if __name__ == '__main__':with Manager() as manager: #manager=Manager()d = manager.dict() #生成一个可在多个进程之间传递和共享的字典,l = manager.list(range(5)) #生成一个可在多个进程之间传递和共享的列表,已经存放了5个元素p_list = [] #存放多个进程for i in range(10):p = Process(target=f, args=(d, l))p.start()p_list.append(p)for res in p_list: #等待结果res.join()print(d)print(l)

运行结果:

C:\abccdxddd\Oldboy\python-3.5.2-embed-amd64\python.exe C:/abccdxddd/Oldboy/Py_Exercise/Day10/Manager_tes.py
[0, 1, 2, 3, 4, 12836]
[0, 1, 2, 3, 4, 12836, 11324]
[0, 1, 2, 3, 4, 12836, 11324, 15000]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476, 13960]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476, 13960, 14504]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476, 13960, 14504, 4208]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476, 13960, 14504, 4208, 12984]
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476, 13960, 14504, 4208, 12984, 11724]
{0.25: None, 1: '1', 12836: 12836, 13960: 13960, 11724: 11724, 12984: 12984, 14476: 14476, '2': 2, 9576: 9576, 4208: 4208, 14504: 14504, 15000: 15000, 11324: 11324}
[0, 1, 2, 3, 4, 12836, 11324, 15000, 9576, 14476, 13960, 14504, 4208, 12984, 11724]Process finished with exit code 0

转载于:https://www.cnblogs.com/momo8238/p/7358146.html

进程间通讯-3(Manager)-实现数据的同时修改相关推荐

  1. 进程间数据传递:Queue,Pipe 进程间数据共享:Manager

    进程间数据传递:Queue,Pipe 进程间数据共享:Manager 1.使用multiprocessing模块的Queue实现数据传递 ''' 进程间通讯:Queue,用法跟线程里的Queue一样, ...

  2. Python 第八篇:异常处理、Socket语法、SocketServer实现多并发、进程和线程、线程锁、GIL、Event、信号量、进程间通讯...

    本节内容: 异常处理.Socket语法.SocketServer实现多并发.进程和线程.线程锁.GIL.Event.信号量.进程间通讯.生产者消费者模型.队列Queue.multiprocess实例 ...

  3. IPC 进程间通讯,排队输出--day33

    """ IPC 进程间通讯 由于进程之间内存是相互独立的 所以需要对应积极而方案 能够使得进程之间可以相互传递数据 1.使用共享文件,多个进程同时读写同一个文件 IO速度 ...

  4. Python3.5 queue 模块详解 和 进程间通讯

    queue - A synchronized queue class:https://docs.python.org/3/library/queue.html 菜鸟教程 - Python3 多线程:h ...

  5. Android-Binder进程间通讯机制-多图详解

    本系列: Android-Binder进程间通讯机制-多图详解 一次Binder通信最大可以传输多大的数据?​​​​​​​ 关于Binder (AIDL)的 oneway 机制 概述 最近在学习Bin ...

  6. 管道实现进程间通讯 、WaitNamedPipe

    一.管道实现进程间通讯 主要的理论知识 1.什么是管道以及分类 管道是两个头的东西,每一个头各连接一个进程或者同一个进程的不同代码,依照管道的类别分有两种管道,匿名的和命名的:依照管道的传输方向分也能 ...

  7. QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开     本文地址:h ...

  8. linux open 头文件_linux下通过共享内存和mmap实现进程间通讯

    前言 最近在学习GNU/Linux内核,看到mmap的时候书上说: mmap/munmap接口函数是用户最常用的两个系统调用接口,无论是在用户程序中分配内存.读写大文件.链接动态库文件,还是多进程间共 ...

  9. Android(IPC)进程间通讯1:详解Binder由来?

    完整原文:http://tryenough.com/android-... Android开发的进程间通讯,整个Android的应用都依赖于binder做底层通信机制.而Linux中提供的进程间通讯方 ...

最新文章

  1. R读取excel文件乱码 read.xlsx() 解决方法
  2. WIN-8“内置管理员无法激活此应用”问题
  3. iOS高仿城觅应用客户端项目(开发思路和代码)
  4. 将jar添加到发布目录_第32批免购置税新能源车型目录发布;通用BEV3平台将入华...
  5. WinPcap笔记(9):保存数据包到堆文件
  6. 开始《数据机构与算法之美》之旅
  7. 00004-括号匹配问题-牛客网-要考虑各种情况
  8. 用filter求素数
  9. 编译原理语义分析代码_Pix2Pix原理分析与代码解读
  10. 25%的CPU利用率也能够让一台笔记本如此狼狈 (小红伞)
  11. linux 消息队列
  12. Word 电子签名简单制作方法
  13. 金山词霸2009sp3 (解决字典消失、屏幕不能取词问题)
  14. java 专业英语单词_java_专业英语单词_力荐
  15. 二进制包方式部署k8s集群
  16. 原神抽卡模拟器(java简易版)
  17. Time-Ordered Recent Event (TORE) Volumes for Event Cameras论文笔记
  18. 进入qq空间显示服务器错误,解决QQ空间打开无响应或报错的方法
  19. 东半球最强饭局,大佬们都吃了啥?App Store 已为中国开发者获利 170 亿美元
  20. 解决cuid卡写数据后,无法读取。以及救卡方法

热门文章

  1. js中的Promise简单总结(ES6)
  2. 蚂蚁式管理(Style of Ant Management)
  3. ie浏览器怎么取消代理浏览器_微软和IE渐行渐远,IE浏览器终将成为回忆
  4. raspberry pi_如何保持您的Raspberry Pi更新
  5. python编程学习_使用EduBlocks轻松学习Python编程
  6. 区块链组织架构_区块链可以加速开放组织的5种方式
  7. 书评专家_书评:“开放”探讨开放的广泛文化含义
  8. 万圣节 数据_万圣节的五个3D打印项目
  9. devops实践指南_开发DevOps的实用指南:减少八卦的步骤
  10. 为什么Python 4.0不会像Python 3.0