网络编程-进程-3、进程之间不共享全局变量
前言:之前说的多个线程之间是共享全局变量的,但是进程之间是不共享全局变量的
"""进程函数函数test1修改全局变量list列表,进程函数test2打印一下全局变量list""" list = [11,12] def test1(): list.append(13) print('tset1中list值:% s'%str(list)) def test2(): print('tset2中list值:% s' % str(list)) def main(): t1 = multiprocessing.Process(target=test1) t2 = multiprocessing.Process(target=test2) t1.start() time.sleep(1) t2.start() time.sleep(1) print(list) if __name__ == '__main__': main()
运行效果:
tset1中list值:[11, 12, 13]
tset2中list值:[11, 12]
[11, 12]
看运行结果会发现:test1修改全局变量,只在test1局部生效,但是实际上的list值并未改变