浅谈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 获取本机ip地址的两个方法
Feb 25 Python
Python多进程同步简单实现代码
Apr 27 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
python基础之//、/与%的区别详解
Jun 10 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中的mb_detect_encoding函数使用方法
2015/08/18 PHP
php字符串操作常见问题小结
2016/10/11 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
使用js画图之画切线
2015/01/12 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
angularjs实现首页轮播图效果
2017/04/14 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
理解Python中的With语句
2015/02/02 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
公司授权委托书样本
2014/09/15 职场文书
医生见习报告范文
2014/11/03 职场文书
民主评议党员个人总结
2015/02/13 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
离婚协议书范文2016
2016/03/18 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL