浅谈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 相关文章推荐
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
python实现计算资源图标crc值的方法
Oct 05 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
Python3基于sax解析xml操作示例
May 22 Python
python实现简单加密解密机制
Mar 19 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
在vscode中配置python环境过程解析
Sep 28 Python
python 画图 图例自由定义方式
Apr 17 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 02 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
drupal 代码实现URL重写
2011/05/04 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
python网络编程之文件下载实例分析
2015/05/20 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
解决Python requests 报错方法集锦
2017/03/19 Python
python自动化生成IOS的图标
2018/11/13 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
用python绘制樱花树
2020/10/09 Python
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
struct与class的区别
2014/02/03 面试题
经济管理专业毕业生推荐信
2013/11/11 职场文书
气象学专业个人求职信
2014/03/15 职场文书
节约用水标语
2014/06/11 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
员工工作及收入证明
2014/10/28 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
新郎答谢词
2015/01/04 职场文书
保证书格式
2015/01/16 职场文书
酒店员工管理制度
2015/08/05 职场文书