多进程共享全局变量

多进程共享全局变量
共享全局变量不适用于多进程编程

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()
发布了106 篇原创文章 · 获赞 0 · 访问量 2370

猜你喜欢

转载自blog.csdn.net/weixin_45905671/article/details/105370078