进程间通讯-2(pipe)

Posted momo8238

tags:

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

通过pipe 管道的方式也可以实现进程间通信。

父进程和子进程之间可以实现相互通信。

from multiprocessing import Process, Pipe

def f(conn):
    conn.send([42, None, ‘hello from child‘])
    conn.send([42, None, ‘hello from child2‘])
    print(‘from parent:‘,conn.recv())
    conn.close()

if __name__ == ‘__main__‘:
    parent_conn, child_conn = Pipe()
    p = Process(target=f, args=(child_conn,))
    p.start()
    print(parent_conn.recv())  # prints "[42, None, ‘hello‘]"
    print(parent_conn.recv())
    parent_conn.send(‘你还好么?‘)
    p.join()

 运行结果:

[42, None, ‘hello from child‘]
[42, None, ‘hello from child2‘]
from parent 你还好么?

 

以上是关于进程间通讯-2(pipe)的主要内容,如果未能解决你的问题,请参考以下文章

IPC进程间通讯之二管道Pipe

IPC(进程间的通讯方式)

使用multiprocessing 克服GIL缺陷-- 进程间通讯

进程间通讯机制

进程间通讯

进程间数据传递:Queue,Pipe 进程间数据共享:Manager