Python多进程和Linux管道

时间:2019-04-07 08:28:12

标签: python queue multiprocessing pipe python-multiprocessing

对python和多进程有疑问。

以下面的代码为例:


 from multiprocessing import Process, Queue

def f(q):
    q.put([42, None, 'hello'])

if __name__ == '__main__':
    q = Queue()
    p = Process(target=f, args=(q,))

我看到该过程创建了Linux管道设备:

ls -la /proc/2051/fd/5
lr-x------ 1 ... /proc/2051/fd/5 -> 'pipe:[473589]'

问题:

  1. multiprocessing.Queue是否使用管道设备在进程之间交换数据?

  2. 如果1是,那么他们不共享内存,对吗?

  3. 如果2是,python以哪种方式序列化和反序列化进程之间的对象?

如果1和2 == False,它如何深入处理各进程之间的数据交换?

我读到有关multiprocessing.shared_memory的信息,但是我正在寻找Queue类。

找不到有关此文档。

0 个答案:

没有答案