一、管道
二、消息队列
三、共享内存
一、python中进程间通过管道的方式进行通信。创建一个管道,在进程的一端发送消息,在进程的另一端接收消息,通过这个内置的方法实现通信。一端发出消息,另一端接收消息。写法也比较简单,在上一篇文章中有对应示例。这里不再多做示例。
二、消息队列。创建一个中间容器,一端向中间容器中写入数据,另一端则去获取容器中数据,通过设置中间容器的方式实现通信。在这里我没有说明队列,而是用容器,而是因为其他容器也可以替代队列,只是队列在这里有一个极大的优势,就是队列中的数据有且只能取用一次,用完就没有了,所以不会出现重复。在这里就变的有优势。其实如果只是为了通信,也为了常规使用方便,或者控制更加精细,可以选择自己熟悉的容器都是可以的。如列表、元组、字典等其实都是可以的。就只是一端把数据放到中间容器中,另一商从中间容器中去获取即可。(在这里也不做演示,原理理解了,实现就只是技术上一的个小问题而已)。
三、共享内存。创建一个内存空间,然后向共享内存中写入数据,一端写入一端读取,通过这样的方式来实现内存共享。在这里没有做测试,所以也不附案例。
对上述三种实现进程通信的方式进行简单归纳就会发现进程间的通信,其实还是借用了中间过程,有点类似于写信一样。发件人写好一封信,并将信放到指定位置,收信人到指定位置去取信即可。在这里我们开发人员其实是站在上帝视角的。