python 进程之间的通讯
#!/usr/bin/env python #-*- coding:utf-8 -*- # author:leo # datetime:2019/5/28 10:15 # software: PyCharm from multiprocessing import Process,Queue,Pipe import time def puts(q): i=0 while True: q.put([i, None, 'ok']) i+=1 time.sleep(2) def gets(q): while True: if q.qsize(): print(q.get()) time.sleep(1) def sets(conn): conn.send(['1','ok']) res=conn.recv() print(2) print(res) conn.close() def revs(conn): res=conn.recv() print(1) print(res) conn.send(['2','ok']) conn.close() if __name__ == '__main__': q = Queue() for i in range(2): p=Process(target=puts,args=(q,)) p.start() for i in range(5): p=Process(target=gets,args=(q,)) p.start() one_conn,two_conn= Pipe() for i in range(2): p=Process(target=sets,args=(two_conn,)) p.start() for i in range(2): p=Process(target=revs,args=(one_conn,)) p.start()