进程不数据共享的问题
下面是一个进程之间不共享数据的例子
有个问题:不数据共享导致了全局变量输出的错误
进程创建的时候载入了哪些数据,也就是说哪些数据是需要我们创建进程时留意的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # _*_ 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全能工程师
- 参与学习 人
- 提交作业 16317 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧