进程不数据共享的问题
下面是一个进程之间不共享数据的例子
有个问题:不数据共享导致了全局变量输出的错误
进程创建的时候载入了哪些数据,也就是说哪些数据是需要我们创建进程时留意的
# _*_ coding:utf-8 _*_ from threading import Thread # 导入进程 from multiprocessing import Process import time def plus(): print("-------子进程1开始---------") global g_num # 定义全局变量 g_num += 50 # 全局变量值加50 print("g_num is %d" % g_num) print("-------子进程1结束---------") def minus(): time.sleep(2) print("-------子进程2开始---------") global g_num # 定义全局变量 g_num -= 50 # 全局变量值减50 print("g_num is %d" % g_num) print("-------子进程2结束---------") g_num = 100 # 定义一个全局变量 if __name__ == "__main__": print("----------主进程开始-------------") print("g_num is %d" % g_num) t1 = Process(target=plus) # 实例化进程t1 t2 = Process(target=minus) # 实例化进程t2 t1.start() # 开启进程t1 t2.start() # 开启进程t2 t1.join() # 等待t1进程结束 t2.join() # 等待t2进程结束 print("--------主进程结束-------------")
7
收起
正在回答 回答被采纳积分+1
1回答
Python全能工程师
- 参与学习 人
- 提交作业 16233 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星