写一个python ipc 的范例, 使得多个python进程间可以互相收发数据
时间: 2024-04-08 18:30:23 浏览: 175
python多进程实现进程间通信实例
当涉及到多个Python进程间的IPC,可以使用`multiprocessing`模块中的`Queue`类来实现。以下是一个简单的示例,演示了如何使用队列在两个Python进程之间进行数据传递:
```python
from multiprocessing import Process, Queue
# 子进程函数,从队列中读取数据并打印
def child_process(queue):
while True:
data = queue.get()
if data == 'exit':
break
print(f"Child process received: {data}")
# 主进程函数,将数据放入队列
def main_process(queue):
# 创建子进程
p = Process(target=child_process, args=(queue,))
p.start()
while True:
data = input("Enter data to send (type 'exit' to quit): ")
queue.put(data)
if data == 'exit':
break
p.join() # 等待子进程结束
if __name__ == '__main__':
# 创建队列
queue = Queue()
# 启动主进程
main_process(queue)
```
在这个示例中,主进程通过`input`函数获取用户输入的数据,并将数据放入队列中。子进程不断地从队列中读取数据并打印。输入`exit`将退出主进程和子进程。请注意,这只是一个简单的示例,实际应用中可能需要更复杂的逻辑和数据处理。
你可以根据自己的需求修改和扩展这个示例,例如创建更多的子进程或在子进程中执行其他操作。通过使用队列,你可以方便地在多个Python进程之间传递数据。
阅读全文