进程线程之间的通信

Posted tangpg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程线程之间的通信相关的知识,希望对你有一定的参考价值。

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

多进程之间的通信

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先进行进程之间的通信。

 

以上是关于进程线程之间的通信的主要内容,如果未能解决你的问题,请参考以下文章

多线程和多进程通信原理

程序进程线程之间的区别

Android中线程与线程,进程与进程之间如何通信?

进程线程之间的通信

进程与线程 及之间通信

进程和线程之间的通信