In [ ]:
进程间通信(脚本执行才显示输出)¶
In [1]:
from multiprocessing import Process, Pipe
from multiprocessing.connection import PipeConnection
import time
def sender(conn: PipeConnection):
conn.send("Hello from sender1")
conn.send({"a": "b"})
print("Hello from sender")
msg = conn.recv()
print("Received_sender:", msg)
time.sleep(1)
conn.close()
def receiver(conn: PipeConnection):
msg = conn.recv()
print("Received1:", msg)
msg = conn.recv()
print("Received2:", msg)
conn.send("Hello from receiver")
print("Hello from receiver")
time.sleep(1)
conn.close()
if __name__ == "__main__":
parent_conn, child_conn = Pipe()
p1 = Process(target=sender, args=(child_conn,))
p2 = Process(target=receiver, args=(parent_conn,))
p1.start()
p2.start()
p1.join()
p2.join()
elif __name__ == "__mp_main__":
print("正在新建子进程")