多进程manager共享
使用manager在进程之间事项共享数据.
栗子:
主进程调用manager,创建一个字典d和一个列表l,启动十个子进程,每个子进程都向d和l中放数据
from multiprocessing import Process,Manager
import os def func(d,l):
d[os.getpid()] = os.getpid()
l.append(os.getpid())
print(d)
print(l) if __name__ == '__main__':
with Manager() as manager:#不需要加锁 自动加了
d = manager.dict()#使用manager创建一个字典对象
l = manager.list(range(5))#使用manager创建一个列表对象
p_list = []
for i in range(10):
p = Process(target=func,args=(d,l))
p_list.append(p)
p.start()
for p in p_list:
p.join()
print(d)
print(l)
输出结果:
D:\7_Python\Python37\python.exe D:/7_Python/S14/其他/aaaa.py
{10120: 10120}
[0, 1, 2, 3, 4, 10120]
{10120: 10120, 9700: 9700}
[0, 1, 2, 3, 4, 10120, 9700]
{10120: 10120, 9700: 9700, 4968: 4968}
[0, 1, 2, 3, 4, 10120, 9700, 4968]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884, 4860: 4860}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884, 4860]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884, 4860: 4860, 9712: 9712}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884, 4860, 9712]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884, 4860: 4860, 9712: 9712, 14164: 14164}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884, 4860, 9712, 14164]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884, 4860: 4860, 9712: 9712, 14164: 14164, 15000: 15000, 2948: 2948}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884, 4860, 9712, 14164, 15000, 2948]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884, 4860: 4860, 9712: 9712, 14164: 14164, 15000: 15000, 2948: 2948}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884, 4860, 9712, 14164, 15000, 2948]
{10120: 10120, 9700: 9700, 4968: 4968, 14212: 14212, 2884: 2884, 4860: 4860, 9712: 9712, 14164: 14164, 15000: 15000, 2948: 2948}
[0, 1, 2, 3, 4, 10120, 9700, 4968, 14212, 2884, 4860, 9712, 14164, 15000, 2948] Process finished with exit code 0
多进程manager共享的更多相关文章
- multiprocessing.Manager共享内存的问题记录
问题:https://stackoverflow.com/questions/8640367/python-manager-dict-in-multiprocessing 使用 multiproces ...
- .net4.0多进程间共享内存实现通信(VB.Net)
.net4.0新增内存共享功能,从而很方便的实现了多进程间通信. 源码下载
- python学习笔记——多进程中共享内存Value & Array
1 共享内存 基本特点: (1)共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝. (2)为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将 ...
- Memcached Session Manager 共享tomcat session设置
tomcat的lib下添加jar包 修改tomcat的conf目录下的context.xml文件 新增 sessionCookiePath="/" <Manager clas ...
- Remote desktop manager共享账号
因为多个远程机器,是会用了域账号进行登录的.而域账号的密码,三个月之后,密码强制过期 添加一个新的entry,类型是Credential Entry,然后选择用户名/密码 在remote deskto ...
- python并发编程之多进程(三):共享数据&进程池
一,共享数据 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合 通过消息队列交换数据.这样极大地减少了对使用锁定和其他同步手段的需求, 还可以扩展 ...
- 多进程共享内存的MemoryStream
文章转载于http://www.raysoftware.cn/?p=506 具体用处呢,有很多,比如多进程浏览器共享Cookie啦,多个进程传送点数据啦. 共享内存封装. 封装成了MemoryStre ...
- 多线程/多进程/异步IO
SOCK_STREAM :TCPSOCK_Dgram :UDP family=AF_INET: 服务器之间的通信AF_INET6: 服务器之间的通信AF_UNIX: Unix不同进程间的通信 永远遵循 ...
- 三种进程和线程数据共享模块方法Queue》Pipe》manager
>>>>线程中的queue import threading import queue def f(qq): print("in child",qq.qsi ...
随机推荐
- Shell脚本查询磁盘数量
之前帮朋友写的脚本,运维大数据服务器时候用的. #!/bin/bash ##磁盘数量 Disk=$( fdisk -l |grep 'Disk' |grep 'sd' |awk -F , '{prin ...
- LED Decorative Light Supplier - LED Neon Application: 5 Advantages
In the past 100 years, lighting has gone a long way. LED decorative lighting is now designed to meet ...
- selenium获取短暂出现元素的xpath路径
1. pip install beautifulsoup4 :安装beautifulsoup4 2. from bs4 import BeautifulSoup 3. bs = BeautifulS ...
- [SDOI2012]任务安排 - 斜率优化dp
虽然以前学过斜率优化dp但是忘得和没学过一样了.就当是重新学了. 题意很简单(反人类),利用费用提前的思想,考虑这一次决策对当前以及对未来的贡献,设 \(f_i\) 为做完前 \(i\) 个任务的贡献 ...
- Linux oracle中文乱码的问题解决
乱码问题的根源是字符集的修改 1.查看linux的默认语言 2.查看客户端的语言编码设置 配置文件中的配置: cat ~/.bash_profile 注意修改配置信息: export PATHexp ...
- shell内置命令和外部命令的区别
内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留 ...
- GitBook相关使用以及配置笔记
本地安装 GitBook的安装非常简单.您的系统只需满足这两个要求: NodeJS(推荐使用v4.0.0及以上版本) Windows,Linux,Unix或Mac OS X gitbook-cli 是 ...
- java基础之 变量
变量是一个内存位置的名称. 1.成员变量(实例变量,属性) 成员变量就是类中的属性,当创建对象的时候,每个对象都有一份属性.一个对象中的属性就是成员变量. 2.本地变量(局部变量) 在方法内声明的变量 ...
- torchvision的理解和学习 加载常用数据集,对主流模型的调用.md
torchvision的理解和学习 加载常用数据集,对主流模型的调用 https://blog.csdn.net/tsq292978891/article/details/79403617 加载常用数 ...
- 【做题笔记】[NOIOJ,非NOIp原题]装箱问题
题意:给定一些矩形,面积分别是 \(1\times 1,2\times 2,3\times 3,4\times 4,5\times 5,6\times 6\).您现在知道了这些矩形的个数 \(a,b, ...