python多进程,使用pipe进行进程间的通讯
import multiprocessing import time ''' python多进程 pipe 在多进程中,进程间的通信是一个常见的需求。管道(Pipe)提供了一种简单有效的进程间通信方式, 允许数据在进程间传递。通过使用管道,我们可以让一个进程发送数据,另一个进程接收。 以下是一个使用管道在两个进程之间传递数据的示例: ''' def sender(pipe): """模拟数据发送者""" for i in range(5): msg = f'第{i}条消息' print(f'发送消息: [{msg}]') pipe.send(msg) time.sleep(1) # 模拟延迟 def receiver(pipe): """模拟数据接收者""" for _ in range(5): msg = pipe.recv() print(f'接收到消息: [{msg}]\n') if __name__ == '__main__': # 创建管道 parent_conn, child_conn = multiprocessing.Pipe() # 创建进程 process_sender = multiprocessing.Process(target=sender, args=(child_conn,)) process_receiver = multiprocessing.Process(target=receiver, args=(parent_conn,)) # 启动进程 process_sender.start() process_receiver.start() # 等待进程结束 process_sender.join() process_receiver.join() print("通信完成!")
输出:
发送消息: [第0条消息]
接收到消息: [第0条消息]
发送消息: [第1条消息]
接收到消息: [第1条消息]
发送消息: [第2条消息]
接收到消息: [第2条消息]
发送消息: [第3条消息]
接收到消息: [第3条消息]
发送消息: [第4条消息]
接收到消息: [第4条消息]
通信完成!
本文来自博客园,作者:河北大学-徐小波,转载请注明原文链接:https://www.cnblogs.com/xuxiaobo/p/18631320