浅谈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中DOM方法的动态性
Apr 11 Python
Python中字典的setdefault()方法教程
Feb 07 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
python实现while循环打印星星的四种形状
Nov 23 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
Python爬虫之爬取某文库文档数据
Apr 21 Python
Python中的min及返回最小值索引的操作
May 10 Python
python爬取网页版QQ空间,生成各类图表
Jun 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
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
使用PHP 5.0创建图形的巧妙方法
2010/10/12 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
JS动态调用方法名示例介绍
2013/12/18 Javascript
javascript闭包入门示例
2014/04/30 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
深入了解Django中间件及其方法
2019/07/26 Python
Django 自定义分页器的实现代码
2019/11/24 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
门诊挂号室室长岗位职责
2013/11/27 职场文书
创业计划书模版
2014/02/05 职场文书
活动总结报告格式
2014/05/09 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
2016猴年春节问候语
2015/11/11 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js