Java多进程间的全局变量共享吗
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"Java多进程间的全局变量共享吗",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java多进程间的全局变量共享吗"吧!前言问题:多进程间的
千家信息网最后更新 2025年12月02日Java多进程间的全局变量共享吗
本篇内容主要讲解"Java多进程间的全局变量共享吗",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java多进程间的全局变量共享吗"吧!
前言
问题:多进程间的全局变量共享吗?
import multiprocessing as mul_p
import time
egg1 = 1
def write(egg2, q):
global egg1
print("write全局变量彩蛋[%s]..." % egg1)
print("write彩蛋[%s]..." % egg2)
egg1 -= 1
print("write全局变量彩蛋[%s]...原来的彩蛋[1]" % egg1)
# 将修改后的彩蛋1的值放入队列中去
q.put(egg1)
def read(egg2, q):
global egg1
print("read全局变量彩蛋[%s]..." % egg1)
print("read彩蛋[%s]..." % egg2)
while True:
# 从队列中取出 p1 子进程中的 全局变量彩蛋1 的值
egg1 = q.get()
print("read接收到的write中的全局变量彩蛋[1]的值:%d" % egg1)
if q.empty():
print("接收完毕...")
break
def main():
# 假设连个进程都需要打印下面这个彩蛋2
egg2 = 2
# ① 创建一个队列,可以不填,队列就可以很大,但有个极限,我们不去考虑它
# 如果填了数字为 x ,则这个队列可以存储 x 个数据
q = mul_p.Queue()
# ② 创建两个进程对象
p1 = mul_p.Process(target=write, args=(egg2, q,))
p2 = mul_p.Process(target=read, args=(egg2, q,))
# ③ 让两个子进程开始工作
p1.start()
# 先让主进程 休息1s 让 p1 子进程先执行完,不然两个子进程 争着执行 打印输出会乱套
time.sleep(1)
p2.start()
if __name__ == "__main__":
main()
运行结果:
write全局变量彩蛋[1]...
write彩蛋[2]...
write全局变量彩蛋[0]...原来的彩蛋[1]
read全局变量彩蛋[1]...
read彩蛋[2]...
read接收到的write中的全局变量彩蛋[1]的值:0
接收完毕...二、总结
① 各个进程间全局变量的值是 不共享
的※:这是因为每创建一个进程就会 copy 一份原始代码(全局变量还是初值)给自己使用,所以进程间的代码是一样的,但 变量和数据是独立 的
② 各个进程间可以通过 Queue 创建的队列来传递变量,列表,字符串值(包括全局变量的值)
③ 每个进程任务里的参数,除了 全局变量(函数局部变量),其余的参数都需要通过外部实参,传入到内部形参。※:尤其是上例程的 队列 q 要作为 实参传给两个进程,这样才能实现两个进程间的通信。
③ 进程与线程之间的关系与区别:① 进程 包含 多个线程② 进程间 不共用 变量与资源;线程间 共用 变量与资源③ 使用 time.sleep() ,可以停下当前的进程,让其他进程开始工作
到此,相信大家对"Java多进程间的全局变量共享吗"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
进程
变量
全局
彩蛋
队列
两个
线程
代码
内容
参数
数据
资源
学习
原始
实用
很大
更深
之间
任务
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有私有服务器吗
野生药用植物图谱数据库
快递企业的数据库ER模型
幼儿园9月网络安全知识
500字网络安全作文
数据库查的两组数据怎么对应
辽宁软件开发技术服务价格
中文主题词在什么数据库中找到
数知科技是互联网龙头吗
c和数据库一起打包怎么用
朝阳赛区2021年网络安全
速达删除数据库文件
勤哲excel服务器安装
dellt300服务器制作
网络安全和信息化 机要
视频管理服务器参数设置
金融网络安全宣传手势舞
赤峰云计算网络安全工程师
网络安全隐患排查总结
安徽机械软件开发生产厂家
中国期刊物和万方数据库
计算机网络技术有什么对口工作
互联网科技公司招聘兼职吗
东营职业计算机网络技术分数
服务器关闭怎么恢复
网络安全面临的5大问题
易途软件开发有限公司
华为服务器陕西代理云空间
CDN加速服务器免费下载
数据库原理的产生