多进程,通信

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------")

猜你喜欢

转载自www.cnblogs.com/knowlearner/p/10415120.html