多进程,通信

from multiprocessing import Process,Queue,Pipe
import os

def test(q,child_conn):
print("sub q id:%s in the 线程号 %s"% (id(q),os.getpid()))
q.put([ "hello", 432, 4])
child_conn.send("hello")
print(child_conn.recv())


if __name__ == '__main__':
parent_conn,child_conn = Pipe()

p_list = []
q = Queue()

print("main q id: ",id(q))
for i in range(2):
p = Process(target=test,args=(q,child_conn,))
p.start()

p_list.append(p)


print(q.get())



print(parent_conn.recv())
print(parent_conn.recv())
parent_conn.send("hello too")
parent_conn.send("hello too2")

for p in p_list:
p.join()

print("------end------")
posted @ 2019-02-21 20:42  ★小钻风★  阅读(108)  评论(0编辑  收藏  举报