进程线程之间的通信

多进程之间有各自的内存空间,多线程是共享同一个线程的空间

多进程之间的通信

from multiprocessing import Process, Manager


def func(li):
    li.append(1)


if __name__ == "__main__":
    mgr = Manager() #(共享内存)管理器接口
    # 代理
    shared_list = mgr.list() # 在公共进程Manage中开启一个list空间,用来进程通信
    # mgr.dict()
    # mgr.Queue()
    p = Process(target=func, args=(shared_list, ))
    p.start()
    p.join()

    print(shared_list)

多线程之间的通信

from threading import Thread


a = []
def fun(a):
    a.append(1)

t = Thread(target=fun, args=(a, ))
t.start()
t.join()

print(a)

一进程与另一个进程中的线程通信,也是通过Manage先进行进程之间的通信。

 

猜你喜欢

转载自www.cnblogs.com/tangpg/p/10630907.html