python多进程编程-多进程编程中的IPC(三)
导读:消息队列消息队列是一种进程间通信方式,可以实现进程之间的异步通信,即一个进程向消息队列发送消息,另一个进程从消息队列中接收消息。在Python中,可以使用multiprocessing模块中的Queue类来创建消息队列。下面是一个使用消息队...
消息队列
消息队列是一种进程间通信方式,可以实现进程之间的异步通信,即一个进程向消息队列发送消息,另一个进程从消息队列中接收消息。在Python中,可以使用multiprocessing模块中的Queue类来创建消息队列。
下面是一个使用消息队列实现多进程通信的示例代码:
import multiprocessing
def sender(queue):
queue.put('hello')
def receiver(queue):
msg = queue.get()
print('received:', msg)
if __name__ == '__main__':
queue = multiprocessing.Queue()
p1 = multiprocessing.Process(target=sender, args=(queue,))
p2 = multiprocessing.Process(target=receiver, args=(queue,))
p1.start()
p2.start()
p1.join()
p2.join()
这里我们定义了两个进程函数sender和receiver,分别用于向消息队列发送消息和从消息队列中接收消息。在主程序中,我们创建了一个消息队列queue,并使用multiprocessing.Queue()函数将其创建出来。然后创建了两个进程p1和p2,分别将sender和receiver函数作为进程的执行函数。在进程p1中,我们向消息队列queue中发送了一条消息“hello”;在进程p2中,我们从消息队列queue中接收了这条消息,并打印出来。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: python多进程编程-多进程编程中的IPC(三)
本文地址: https://pptw.com/jishu/9212.html