欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

进程间通信

程序员文章站 2022-03-26 19:50:05
一、通过Queue方式进行通信 1 from multiprocessing import Process,Queue,Pipe 2 def f(q): 3 q.put([42,2,'hello']) 4 5 if __name__=='__main__': 6 q=Queue() 7 p_list ......

一、通过queue方式进行通信

 1 from multiprocessing import process,queue,pipe
 2 def f(q):
 3     q.put([42,2,'hello'])
 4 
 5 if __name__=='__main__':
 6     q=queue()
 7     p_list=[]
 8 
 9     for i in range(3):
10         p=process(target=f,args=(q,))
11         p_list.append(p)
12         p.start()
13 
14     print(q.get())
15     print(q.get())
16     print(q.get())

二、通过pipe方式通信 

 1 def f(conn):
 2     conn.send([42,none,'hello'])
 3     conn.send('love')
 4     print(conn.recv())
 5     conn.close()
 6 if __name__=='__main__':
 7     parent_conn,child_conn=pipe()
 8     p=process(target=f,args=(child_conn,))
 9     p.start()
10     print(parent_conn.recv())
11     print(parent_conn.recv())
12     parent_conn.send('你好')
13     p.join()