浅谈Python 多进程默认不能共享全局变量的问题


Posted in Python onJanuary 11, 2019

主进程与子进程是并发执行的,进程之间默认是不能共享全局变量的(子进程不能改变主进程中全局变量的值)。如果要共享全局变量需要用(multiprocessing.Value("d",10.0),数值)(multiprocessing.Array("i",[1,2,3,4,5]),数组)(multiprocessing.Manager().dict(),字典)(multiprocessing.Manager().list(range(5)))。进程通信(进程之间传递数据)用进程队列(multiprocessing.Queue(),单向通信),管道( multiprocessing.Pipe() ,双向通信)。

import multiprocessing
import time
import os
 
datalist=['+++'] #全局变量,主进程与子进程是并发执行的,他们不能共享全局变量(子进程不能改变主进程中全局变量的值)
 
def adddata():
 global datalist
 datalist.append(1)
 datalist.append(2)
 datalist.append(3)
 print("子进程",os.getpid(),datalist)
 
 
if __name__=="__main__":
 
 p=multiprocessing.Process(target=adddata,args=())
 p.start()
 p.join()
 datalist.append("a")
 datalist.append("b")
 datalist.append("c")
 print("主进程",os.getpid(),datalist)

以上这篇浅谈Python 多进程默认不能共享全局变量的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
浅析Python多线程下的变量问题
Apr 28 Python
Linux下为不同版本python安装第三方库
Aug 31 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
Python使用cx_Oracle模块操作Oracle数据库详解
May 07 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
Python FtpLib模块应用操作详解
Dec 12 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
Jan 28 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 #Python
python通过配置文件共享全局变量的实例
Jan 11 #Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 #Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 #Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 #Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 #Python
Python实现批量执行同目录下的py文件方法
Jan 11 #Python
You might like
php中通过smtp发邮件的类,测试通过
2007/01/22 PHP
php数组合并的二种方法
2014/03/21 PHP
php curl 上传文件代码实例
2015/04/27 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
python去除文件中重复的行实例
2018/06/29 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
自我评价中英文语句
2013/11/30 职场文书
初中新生军训方案
2014/05/13 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
武当山导游词
2015/02/03 职场文书
办公室个人总结
2015/02/28 职场文书