python消息队列实现进程间通信demo
时间: 2024-01-05 22:46:32 浏览: 155
利用消息队列实现进程间通信
可以使用Python的multiprocessing模块中的Queue类来实现进程间通信。以下是一个简单的实现示例:
```python
from multiprocessing import Process, Queue
# 子进程代码
def worker(q):
while True:
msg = q.get()
if msg == 'quit':
break
print('收到消息:', msg)
# 主进程代码
if __name__ == '__main__':
# 创建一个消息队列
q = Queue()
# 创建一个子进程并启动
p = Process(target=worker, args=(q,))
p.start()
# 向子进程发送一条消息
q.put('你好,子进程!')
# 发送另外两条消息
q.put('这是第二条消息。')
q.put('再见,子进程!')
# 等待子进程退出
q.put('quit')
p.join()
```
在上面的示例中,我们首先创建了一个Queue对象,然后创建了一个子进程,并将Queue对象作为参数传递给子进程。
子进程则通过调用Queue对象的get()方法来获取消息。当收到的消息为'quit'时,子进程会退出循环。
在主进程中,我们向Queue对象发送了三条消息。注意,在发送完最后一条消息后,我们需要再发送一条'quit'消息来通知子进程退出循环。
最后,我们等待子进程退出并结束程序。
阅读全文