利用multiprocessing做一个多进程通信
时间: 2023-10-08 20:09:46 浏览: 82
简单学习Python多进程Multiprocessing
可以使用Python标准库中的multiprocessing模块实现多进程通信。下面是一个简单的例子,其中父进程创建了两个子进程,一个用于发送消息,一个用于接收消息,它们之间通过管道进行通信。
```python
from multiprocessing import Process, Pipe
def sender(conn):
message = "Hello from sender"
conn.send(message)
conn.close()
def receiver(conn):
message = conn.recv()
print("Received message:", message)
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()
```
在这个例子中,sender进程向管道中发送了一条消息,receiver进程从管道中接收到了这条消息并打印出来。注意,这里使用Pipe函数创建了一个双向管道,它返回两个连接对象,一个用于父进程,一个用于子进程。父进程使用其中一个连接对象发送消息,子进程使用另一个连接对象接收消息。
阅读全文