Python 进程,管道( multiprocessing.Pipe() ),进程通信(双向通信)

来源:互联网 发布:淘宝店铺主题风格手机 编辑:程序博客网 时间:2024/05/21 16:55
#a,b=(1,2)#print(a,b)#管道可以双向通信,队列只可以单向通信(一个进程只能发数据,另一个只能收数据)import multiprocessingimport osdef func(conn):  #conn管道类型    conn.send(["a","b","c","d","e"])  #发送的数据    print("子进程",os.getpid(),conn.recv())  #收到的数据    conn.close()  #关闭if  __name__=="__main__":    conn_a,conn_b=multiprocessing.Pipe() #创建一个管道,两个口    #print(id(conn_a),id(conn_b))    #print(type(conn_a), type(conn_b)) #multiprocessing.connection.PipeConnection类型    p=multiprocessing.Process(target=func,args=(conn_a,))    p.start()    conn_b.send([1,2,3,4,5,6,7])    print("主进程:",os.getpid(),conn_b.recv())    p.join()

原创粉丝点击