Python 中进程&进程间通信例子

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python ,可以使用多种方式实现进程间通信,例如: 1. 管道(Pipe):管道是一种基于文件描述符的通信方式,可以在父进程和子进程之间传递数据。以下是一个使用管道实现进程间通信的示例代码: ```python from multiprocessing import Process, Pipe def sender(conn): conn.send('Hello from sender!') conn.close() def receiver(conn): msg = conn.recv() print('Received message: {}'.format(msg)) 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() ``` 2. 共享内存(Shared Memory):共享内存是一种高效的进程间通信方式,可以使得多个进程可以访问同一块内存区域。以下是一个使用共享内存实现进程间通信的示例代码: ```python from multiprocessing import Process, Value, Array def writer(val, arr): val.value = 3.14 for i in range(len(arr)): arr[i] = i def reader(val, arr): print('Value: {}'.format(val.value)) print('Array: {}'.format(arr[:])) if __name__ == '__main__': val = Value('d', 0.0) arr = Array('i', range(10)) p1 = Process(target=writer, args=(val, arr)) p2 = Process(target=reader, args=(val, arr)) p1.start() p2.start() p1.join() p2.join() ``` 3. 队列(Queue):队列是一种基于管道和共享内存的进程间通信方式,可以在多个进程之间安全地传递消息。以下是一个使用队列实现进程间通信的示例代码: ```python from multiprocessing import Process, Queue def producer(q): for i in range(10): q.put(i) def consumer(q): while not q.empty(): item = q.get() print('Received item: {}'.format(item)) if __name__ == '__main__': q = Queue() p1 = Process(target=producer, args=(q,)) p2 = Process(target=consumer, args=(q,)) p1.start() p2.start() p1.join() p2.join() ``` 以上是三种常用的 Python 进程间通信方式的示例代码,可以根据具体的需求选择合适的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值