当前位置: 首页 > news >正文

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

主进程与子进程是并发执行的,进程之间默认是不能共享全局变量的(子进程不能改变主进程中全局变量的值)。如果要共享全局变量需要用(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 多进程默认不能共享全局变量的问题

本文地址: http://www.cppcns.com/jiaoben/python/249702.html

相关文章:

  • 嗯,毕业之前还要整理的几件事
  • pb mdi窗口多sheet_趣头条百 PB 规模 Hadoop 实践
  • 26个日文片假名导致Access搜索(80040e14/内存溢出)的解决办法
  • pep8 python 编码规范_读懂PEP8,让你的Python代码更加优雅
  • 关于数据库查询次数的问题
  • python 服务器_我的Python_WEB服务器简单配置
  • 7 安装_python3.7安装教程
  • GMail Drive shell --Windows上的GmailFS
  • qt 自定义控件_Qt编写自定义控件47-面板区域控件
  • 成龙《新警察故事》观后
  • springcloud 消息队列_Apache RocketMQ 消息队列部署与可视化界面安装
  • 字符集问题的初步探讨(六)-----乱码的产生
  • 八进制的正则表达式_shell study18day正则表达式一
  • Skype豪赌VoIP 电话革命蓄势待发--Skype通话质量还不错哦!
  • python传递整形数组_python接口自动化(二十九)get请求传array数组
  • 《剑指offer》分解让复杂问题更简单
  • co.js - 让异步代码同步化
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • FastReport在线报表设计器工作原理
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Javascript编码规范
  • Redis的resp协议
  • Redis在Web项目中的应用与实践
  • XML已死 ?
  • 大型网站性能监测、分析与优化常见问题QA
  • 机器学习 vs. 深度学习
  • 将 Measurements 和 Units 应用到物理学
  • 排序算法学习笔记
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • ​​​​​​​​​​​​​​Γ函数
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #{}和${}的区别是什么 -- java面试
  • #14vue3生成表单并跳转到外部地址的方式
  • #pragma pack(1)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (+4)2.2UML建模图
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .Net接口调试与案例
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • @Bean, @Component, @Configuration简析
  • @RestController注解的使用
  • @开发者,一文搞懂什么是 C# 计时器!
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [ffmpeg] aac 音频编码
  • [Java、Android面试]_05_内存泄漏和内存溢出