"""管道通信在内从中开辟管道空间,生成管道对象,多个进程使用一个管道对象进行读写1.multiprocessing中管道通信只能用于父子关系的进程2.管道对象在父进程中创建,子进程通过父进程获取创建多进程:Process()和os.frok()实现方法:1.创建管道 p1,p2=Pipe(duplex=True)2.发送消息 p1.send(data)3.接收消息 data = p1.recvp1发送p2接收"""import multiprocessingfrom multiprocessing import Pipe, Processfrom time import sleep# 创建管道,True表示双向管道,单向管道,第一个读,第二个写P1, P2 = Pipe(duplex=True)def fun1():print("方法一:天王盖地虎")# 将消息写入管道P1.send("下一句是什么")# 获取p2发来的消息data = P1.recv()if data:print("方法一:消息收到了是", data)def fun2():# 接收p1发送过来的消息data = P2.recv()print(data)print("我是方法二:这就悄悄告诉你")text = "大刀王老五"# sleep(3)# 发送线程一需要的消息P2.send(text)if __name__ == "__main__":mp1 = Process(target=fun1)mp2 = Process(target=fun2)mp2.start()mp1.start()mp1.join()mp2.join()