1. 程式人生 > >進程間通訊-2(pipe)

進程間通訊-2(pipe)

bsp nbsp pytho log 方式 child sin 進程間通信 相互

通過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)