浅谈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 相关文章推荐
window下eclipse安装python插件教程
Apr 24 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
python里使用正则表达式的组嵌套实例详解
Oct 24 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
200行python代码实现贪吃蛇游戏
Apr 24 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
python执行js代码的方法
May 13 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 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测试程序运行时间的类
2012/02/05 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
document.addEventListener使用介绍
2014/03/07 Javascript
javascript教程:关于if简写语句优化的方法
2014/05/17 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
python实现用户名密码校验
2020/03/18 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
介绍一下Make? 为什么使用make
2016/07/31 面试题
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
《祁黄羊》教学反思
2014/04/22 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
借名购房协议书范本
2014/10/06 职场文书
党支部书记岗位职责
2015/02/15 职场文书
确保工程质量承诺书
2015/04/29 职场文书
windows安装python超详细图文教程
2021/05/21 Python
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
python使用shell脚本创建kafka连接器
2022/04/29 Python
使用Redis实现分布式锁的方法
2022/06/16 Redis