多进程共享全局变量
共享全局变量不适用于多进程编程
import multiprocessing
a = 1
def demo1():
global a
a += 1
def demo2():
# 进程是不共享全局变量的 线程是共享
print(a) # 1
if __name__ == '__main__':
t1 = multiprocessing.Process(target=demo1)
t2 = multiprocessing.Process(target=demo2)
t1.start()
t2.start()
# 这是一个普通队列 并不能帮我们完成进程通信
import multiprocessing
from queue import Queue
def demo1(q):
q.put('a') # a
def demo2(q):
data = q.get()
print(data)
if __name__ == '__main__':
q = Queue()
t1 = multiprocessing.Process(target=demo1,args=(q,))
t2 = multiprocessing.Process(target=demo2,args=(q,))
t1.run()
t2.run()